From 0dcb6662b7bd726c4bd2ab74bf5b932b2371a02e Mon Sep 17 00:00:00 2001 From: noah Date: Sat, 5 Mar 2022 15:29:24 -0600 Subject: [PATCH] Sync Fire Introduction and Literature --- Appendices.aux | 18 ++--- Chapter4.aux | 22 ++++-- Chapter4.tex | 34 ++++++++- Chapter4_img/non-sync_ex | 1 + Chapter4_img/non-sync_ex.drawio.png | Bin 0 -> 60431 bytes Chapter5.aux | 58 +++++++-------- Chapter6.aux | 36 ++++----- Chapter7.aux | 6 +- Schrick-Noah_MS-Thesis.aux | 21 +++--- Schrick-Noah_MS-Thesis.bbl | 6 ++ Schrick-Noah_MS-Thesis.blg | 63 ++++++++-------- Schrick-Noah_MS-Thesis.lof | 5 +- Schrick-Noah_MS-Thesis.log | 54 ++++++++------ Schrick-Noah_MS-Thesis.pdf | Bin 360533 -> 400070 bytes Schrick-Noah_MS-Thesis.toc | 110 ++++++++++++++-------------- 15 files changed, 245 insertions(+), 189 deletions(-) create mode 100644 Chapter4_img/non-sync_ex create mode 100644 Chapter4_img/non-sync_ex.drawio.png diff --git a/Appendices.aux b/Appendices.aux index 46fdf0d..bfef1d1 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}} }{28}{}\protected@file@percent } -\newlabel{App:A}{{A}{28}} -\@writefile{toc}{\contentsline {section}{\hspace {-\parindent }APPENDIX B:\ \ {\bf \uppercase {THE SECOND APPENDIX}} }{29}{}\protected@file@percent } -\newlabel{App:B}{{B}{29}} -\@writefile{toc}{\contentsline {section}{\numberline {B.1}\bf A Heading in an Appendix}{29}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {B.1.1}\it A Subheading in an Appendix}{29}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsubsection}{A Sub-subsection in an Appendix}{29}{}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\hspace {-\parindent }APPENDIX A:\ \ {\bf \uppercase {THE FIRST APPENDIX}} }{30}{}\protected@file@percent } +\newlabel{App:A}{{A}{30}} +\@writefile{toc}{\contentsline {section}{\hspace {-\parindent }APPENDIX B:\ \ {\bf \uppercase {THE SECOND APPENDIX}} }{31}{}\protected@file@percent } +\newlabel{App:B}{{B}{31}} +\@writefile{toc}{\contentsline {section}{\numberline {B.1}\bf A Heading in an Appendix}{31}{}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {B.1.1}\it A Subheading in an Appendix}{31}{}\protected@file@percent } +\@writefile{toc}{\contentsline {subsubsection}{A Sub-subsection in an Appendix}{31}{}\protected@file@percent } \@setckpt{Appendices}{ -\setcounter{page}{30} +\setcounter{page}{32} \setcounter{equation}{0} \setcounter{enumi}{4} \setcounter{enumii}{0} \setcounter{enumiii}{0} -\setcounter{enumiv}{25} +\setcounter{enumiv}{26} \setcounter{footnote}{0} \setcounter{mpfootnote}{0} \setcounter{part}{0} diff --git a/Chapter4.aux b/Chapter4.aux index 1e5341f..0493c49 100644 --- a/Chapter4.aux +++ b/Chapter4.aux @@ -1,13 +1,21 @@ \relax \@writefile{toc}{\contentsline {chapter}{\numberline {CHAPTER 4: }{\bf \uppercase {SYNCHRONOUS FIRING}}}{16}{}\protected@file@percent } \@writefile{toc}{\contentsline {section}{\numberline {4.1}\bf Introduction}{16}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {4.1.1}\it Synchronous Firing in Literature}{16}{}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {4.2}\bf Necessary Components}{16}{}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {4.3}\bf Example Networks and Results}{16}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {4.3.1}\it Example Networks}{16}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {4.3.2}\it Results}{16}{}\protected@file@percent } +\citation{louthan_hybrid_2011} +\citation{louthan_hybrid_2011} +\citation{louthan_hybrid_2011} +\citation{louthan_hybrid_2011} +\citation{louthan_hybrid_2011} +\citation{cook_rage_2018} +\@writefile{lof}{\contentsline {figure}{\numberline {4.1}{\ignorespaces A network without Synchronous Firing generating infeasible states}}{17}{}\protected@file@percent } +\newlabel{fig:non-sync_ex}{{4.1}{17}} +\@writefile{toc}{\contentsline {subsection}{\numberline {4.1.1}\it Synchronous Firing in Literature}{17}{}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {4.2}\bf Necessary Components}{18}{}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {4.3}\bf Example Networks and Results}{18}{}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {4.3.1}\it Example Networks}{18}{}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {4.3.2}\it Results}{18}{}\protected@file@percent } \@setckpt{Chapter4}{ -\setcounter{page}{17} +\setcounter{page}{19} \setcounter{equation}{0} \setcounter{enumi}{4} \setcounter{enumii}{0} @@ -22,7 +30,7 @@ \setcounter{subsubsection}{0} \setcounter{paragraph}{0} \setcounter{subparagraph}{0} -\setcounter{figure}{0} +\setcounter{figure}{1} \setcounter{table}{0} \setcounter{lofdepth}{1} \setcounter{lotdepth}{1} diff --git a/Chapter4.tex b/Chapter4.tex index ae61c61..52ddfa7 100644 --- a/Chapter4.tex +++ b/Chapter4.tex @@ -1,8 +1,40 @@ \TUchapter{SYNCHRONOUS FIRING} - \TUsection{Introduction} +One main appeal of attack graphs and compliance graphs are their exhaustiveness. The ability to generate all permutations of attack chains or to generate all +possible ways a system can fall out of compliance is a valuable feature. The disadvantage of this approach is that the generation of the final graph increases +in time, as does the analysis. One other disadvantage is that this exhaustiveness can produce states that are not actually feasible. When a system has assets that +have inseperable features, the generation process forcibly seperates features to examine all permutations, since the generation process only modifies one quality at a time. +One example of an inseperable feature is time. If two different assets are identical and no constraints dictate othewise, the two assets cannot proceed through times at different rates. + +For example, if two cars were manufactured at the same +moment, one of these cars cannot proceed multiple time steps into the future while the other remains at its current time step - each car must step through time at the same rate. +However, the generation of attack graphs and compliance graphs examines the possibilities that one car ages by one time step, while the other car does not, or vice versa. This results in an attack graph +that can be seen in Figure \ref{fig:non-sync_ex}, which is a partial attack graph showing the separation of the time feature. All states shaded as a light red color are considered +infeasible, since all of these states comprise of assets that have advanced time at different rates. It is noticeable that not only are the infeasible states a wasteful generation, +but that they also lead to the generation of even more infeasible states that will then also be explored. The desired goal of a generation process similar to this is to have a single state transition that updates +assets with an inseparable feature simultaneously. +\begin{figure}[htp] + \includegraphics[width=\linewidth]{"./Chapter4_img/non-sync_ex.drawio.png"} + \vspace{.2truein} \centerline{} + \caption{A network without Synchronous Firing generating infeasible states} + \label{fig:non-sync_ex} +\end{figure} + +Post-processing is one option at removing the infeasible states. This process would simplify and reduce the time taken for the analysis process, but the generation process would still suffer +from generating infeasible states, as well as exploring the infeasible states. Instead, a new approach called Synchronous Firing can be used to prevent the generation of infeasible states. +The goal of the Synchronous Firing feature is to prevent the generation of infeasible states, while also not incurring a greater computational cost. This Chapter will discuss the development +of this feature, its mentionings in literature, and examine the results when using this feature in applicable networks. \TUsubsection{Synchronous Firing in Literature} +Synchronous Firing is discussed by the author of \cite{louthan_hybrid_2011}, where it is described as grouped exploits. The functionality discussed by the author is similar: where +an exploit should be fired on all possible assets simultaneously. This is also descibred as synchronizing multiple exploits. The methodology is similar to the one implemented in this +work, but there are notable differences. The first, is that the work performed by the author of \cite{louthan_hybrid_2011} utilizes global features with group features. Using the +simultaneous exploit firing necessitated a separation of global and group features, and synchronous firing could not be performed on exploits that could be applicable to both sets. +A second difference is that there is no consistency checking in the work by the author of \cite{louthan_hybrid_2011}, which could lead to indeterminate behavior or race conditions, unless +additional effort was put into encoding exploits to use precondition guards. A third difference is that the work of \cite{louthan_hybrid_2011} could still lead to a separation of features. The +behavior of the work would attempt to fire all exploits on all applicable assets simultaneously, but if some assets were not ready or capable to fire, they would not proceed with the exploit firing but +the other assets would. The last difference is that the work by the author of \cite{louthan_hybrid_2011} was developed in Python, since that was the language of the generator of the tool at the time. +The work by the author of \cite{cook_rage_2018} led to new development of RAGE in C++ for performance enhancements, so the synchonous firing feature in this new work was likewise developed in C++. \TUsection{Necessary Components} diff --git a/Chapter4_img/non-sync_ex b/Chapter4_img/non-sync_ex new file mode 100644 index 0000000..9019278 --- /dev/null +++ b/Chapter4_img/non-sync_ex @@ -0,0 +1 @@ +7Vxdk9smFP01ftyMBALJj8nuJu20nWRmJ9PmKYNl1lIrGwXj2M6vD7LRtz9YyxZo0ydLVxcLcy7nXLjsjuD9fPOBkzT6i01pMgLOdDOCDyMAwNgF8iOzbPcW1wHKMuPxVNlKw1P8g+aOyrqKp3RZcxSMJSJO68aQLRY0FDUb4Zyt627PLKm/NSUz2jI8hSRpW/+OpyLaWwPklPbfaDyL8je7jnoyJ7mzMiwjMmXrigk+juA9Z0zsr+abe5pko5ePy77d+yNPi45xuhA6DUjy8fcJ/nz3/ht+IiH6g+D0xx2AqnNim/9iOpUDoG4ZFxGbsQVJHkvrO85WiynNvtaRd6XPn4yl0uhK479UiK1Ck6wEk6ZIzBP1lG5i8Y9qnl1/qdgfNpUHD1t1s+9l1rWjv16ZlmzFQ3riJ7t5GBE+o+KUIyhQkvFN2ZwKvpUNOU2IiL/Xe0JUnM0KvxIKeaHQeAkynklkXG1k5Pjz7Q7MNyi//VJ9Vjbb3RlFFJpENO/md5Ks1KtCwr+6Wc/jOZUfO2NGIDiRP+PdhMurWXaV+QENPyYiyr9+W5Gk8Nq0wyhJJHtm4bKOYkGfUrIb3bVk8HowqO5SLujmNEjtIVUNYE6UOf/nbLguybSgzKhCpNi51bxCtjCemjBWzyygO7M8kzMLGuVKfRUbFKJ+R0R3Td9yTrYVh5TFC7GsfPOnzFDyBfDrfAF8txEd+28sY6XoWofwMUMJRTBYHwrIRChAWA8F6KB6ftv0x+iU/21CJx/Dc5ouDZjMM31dTJbpDkc7NP45TpJ7ljC+awefg5CGobQvBWf/0cqTSYA8VEZgp6wANLICYD4rCGzJts9lBdckAKhLAGOj6m50jTqslZA2ooEJSkfQhLrjwSWHflCLnzdOAM/E0O7uE+VSOwTlJgOra67QbYkN9eTYuVCO3Vcpx551cuz5tszZISzSPc25Cbsu6bphajTFGtYiXRtRo4kZBrYkZvqztC6syEJMO2+8dFNQr6WgueYtU7KoqqP+Ilf2pNq4LaLHXqGzHj7ykgO6TA69RvsLBybq48buCTSt6WggpcaCK4pNur7ZH2kyhXckAvphCmR2071g/JcouvWIAqN6bk1prL/DALrIdM60LtsD9xosHtQ2TM76e65z0t91T/rfZkPGH9x+nrmkUTc8sZH9PA/WSy6eczrcEHC6+eMewjMf81uVdG6+h3SF5LF5bMOC7NFtD4jl2Yax/NHXzTacw0HQb4n/HAmA0yRzI41yTIbbRTUnB9dlCso4MFw00A1EM+qVHxDQDcSXql3Lv3lA90x17MX+3rgHdfRvq456Bx4ml6ujmQMPwDY9xeOhEZwpNQ36IrFOePqDyY9MYOMZPZ6ad9NsVXponOkFtnEmsoYzh1CVHuvOTWxybmJrqhLamNbXlb1uR+li2vl4WTctBEPRwmPz1LUQU7NnDfJumtVQMjANxa5tGgrb60ft8wXg//MF9oTWXat2ZD62NDnitjv3HTjiCrA0KybGQckrkudAOTq5f8kNIxdZh6PmXy9fiuPrPFoNAutwBJcLcA8H/IC2Xh6Ojl9HgD3r9Ndrnx29ao5+IDZeAdXjZj3UPI7YBhyHttYKHNtwxJr7zgek18w+8xVQQM0TcDdEQd6W/75pX2At/wsWfPwJ \ No newline at end of file diff --git a/Chapter4_img/non-sync_ex.drawio.png b/Chapter4_img/non-sync_ex.drawio.png new file mode 100644 index 0000000000000000000000000000000000000000..cb29e7271776da1d2ffd586e104a01500ead86bd GIT binary patch literal 60431 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 literal 0 HcmV?d00001 diff --git a/Chapter5.aux b/Chapter5.aux index 8a7b01f..50b8c93 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}}}{17}{}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {5.1}\bf Introduction to MPI Utilization for Attack Graph Generation}{17}{}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {5.2}\bf Necessary Components}{17}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.1}\it Serialization}{17}{}\protected@file@percent } +\@writefile{toc}{\contentsline {chapter}{\numberline {CHAPTER 5: }{\bf \uppercase {Utilization OF MESSAGE PASSING INTERFACE}}}{19}{}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {5.1}\bf Introduction to MPI Utilization for Attack Graph Generation}{19}{}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {5.2}\bf Necessary Components}{19}{}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.1}\it Serialization}{19}{}\protected@file@percent } \citation{cook_rage_2018} \citation{li_concurrency_2019} -\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.2}\it Data Consistency}{18}{}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {5.3}\bf Tasking Approach}{18}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.1}\it Introduction to the Tasking Approach}{18}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.2}\it Algorithm Design}{18}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsubsection}{Communication Structure}{18}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsubsection}{Task Zero}{18}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsubsection}{Task One}{18}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsubsection}{Task Two}{18}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsubsection}{Task Three}{18}{}\protected@file@percent } -\@writefile{lof}{\contentsline {figure}{\numberline {5.1}{\ignorespaces Generation Flowchart of RAGE}}{19}{}\protected@file@percent } -\newlabel{fig:RAGE_chart}{{5.1}{19}} -\@writefile{lof}{\contentsline {figure}{\numberline {5.2}{\ignorespaces Task Overview of the Attack Graph Generation Process}}{20}{}\protected@file@percent } -\newlabel{fig:tasks}{{5.2}{20}} -\@writefile{toc}{\contentsline {subsubsection}{Task Four}{21}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsubsection}{Task Five}{21}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.3}\it Performance Expectations}{21}{}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {5.4}\bf Subgraphing Approach}{21}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.1}\it Introduction to the Subgraphing Approach}{21}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.2}\it Algorithm Design}{21}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsubsection}{Communication Structure}{21}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsubsection}{Worker Nodes}{21}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsubsection}{Root Node}{21}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsubsection}{Database Node}{21}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.3}\it Performance Expectations}{21}{}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {5.2.2}\it Data Consistency}{20}{}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {5.3}\bf Tasking Approach}{20}{}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.1}\it Introduction to the Tasking Approach}{20}{}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.2}\it Algorithm Design}{20}{}\protected@file@percent } +\@writefile{toc}{\contentsline {subsubsection}{Communication Structure}{20}{}\protected@file@percent } +\@writefile{toc}{\contentsline {subsubsection}{Task Zero}{20}{}\protected@file@percent } +\@writefile{toc}{\contentsline {subsubsection}{Task One}{20}{}\protected@file@percent } +\@writefile{toc}{\contentsline {subsubsection}{Task Two}{20}{}\protected@file@percent } +\@writefile{toc}{\contentsline {subsubsection}{Task Three}{20}{}\protected@file@percent } +\@writefile{lof}{\contentsline {figure}{\numberline {5.1}{\ignorespaces Generation Flowchart of RAGE}}{21}{}\protected@file@percent } +\newlabel{fig:RAGE_chart}{{5.1}{21}} +\@writefile{lof}{\contentsline {figure}{\numberline {5.2}{\ignorespaces Task Overview of the Attack Graph Generation Process}}{22}{}\protected@file@percent } +\newlabel{fig:tasks}{{5.2}{22}} +\@writefile{toc}{\contentsline {subsubsection}{Task Four}{23}{}\protected@file@percent } +\@writefile{toc}{\contentsline {subsubsection}{Task Five}{23}{}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {5.3.3}\it Performance Expectations}{23}{}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {5.4}\bf Subgraphing Approach}{23}{}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.1}\it Introduction to the Subgraphing Approach}{23}{}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.2}\it Algorithm Design}{23}{}\protected@file@percent } +\@writefile{toc}{\contentsline {subsubsection}{Communication Structure}{23}{}\protected@file@percent } +\@writefile{toc}{\contentsline {subsubsection}{Worker Nodes}{23}{}\protected@file@percent } +\@writefile{toc}{\contentsline {subsubsection}{Root Node}{23}{}\protected@file@percent } +\@writefile{toc}{\contentsline {subsubsection}{Database Node}{23}{}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.3}\it Performance Expectations}{23}{}\protected@file@percent } \@setckpt{Chapter5}{ -\setcounter{page}{22} +\setcounter{page}{24} \setcounter{equation}{0} \setcounter{enumi}{4} \setcounter{enumii}{0} diff --git a/Chapter6.aux b/Chapter6.aux index e489a4a..58fdc0c 100644 --- a/Chapter6.aux +++ b/Chapter6.aux @@ -1,23 +1,23 @@ \relax -\@writefile{toc}{\contentsline {chapter}{\numberline {CHAPTER 6: }{\bf \uppercase {PERFORMANCE ANALYSIS}}}{22}{}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {6.1}\bf Small Networks}{22}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.1}\it Test Information}{22}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.2}\it Results}{22}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.3}\it Analysis}{22}{}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {6.2}\bf Large Networks}{22}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {6.2.1}\it Test Information}{22}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {6.2.2}\it Results}{22}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {6.2.3}\it Analysis}{22}{}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {6.3}\bf Large Exploit Lists}{22}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {6.3.1}\it Test Information}{22}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {6.3.2}\it Results}{22}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {6.3.3}\it Analysis}{22}{}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {6.4}\bf Distributed Hash Tables}{22}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {6.4.1}\it Test Information}{23}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {6.4.2}\it Results}{23}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {6.4.3}\it Analysis}{23}{}\protected@file@percent } +\@writefile{toc}{\contentsline {chapter}{\numberline {CHAPTER 6: }{\bf \uppercase {PERFORMANCE ANALYSIS}}}{24}{}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {6.1}\bf Small Networks}{24}{}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.1}\it Test Information}{24}{}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.2}\it Results}{24}{}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {6.1.3}\it Analysis}{24}{}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {6.2}\bf Large Networks}{24}{}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {6.2.1}\it Test Information}{24}{}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {6.2.2}\it Results}{24}{}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {6.2.3}\it Analysis}{24}{}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {6.3}\bf Large Exploit Lists}{24}{}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {6.3.1}\it Test Information}{24}{}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {6.3.2}\it Results}{24}{}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {6.3.3}\it Analysis}{24}{}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {6.4}\bf Distributed Hash Tables}{24}{}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {6.4.1}\it Test Information}{25}{}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {6.4.2}\it Results}{25}{}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {6.4.3}\it Analysis}{25}{}\protected@file@percent } \@setckpt{Chapter6}{ -\setcounter{page}{24} +\setcounter{page}{26} \setcounter{equation}{0} \setcounter{enumi}{4} \setcounter{enumii}{0} diff --git a/Chapter7.aux b/Chapter7.aux index 8e70ca0..dcf82aa 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}}}{24}{}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {7.1}\bf Future Work}{24}{}\protected@file@percent } +\@writefile{toc}{\contentsline {chapter}{\numberline {CHAPTER 7: }{\bf \uppercase {CONCLUSIONS AND FUTURE WORKS}}}{26}{}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\numberline {7.1}\bf Future Work}{26}{}\protected@file@percent } \@setckpt{Chapter7}{ -\setcounter{page}{25} +\setcounter{page}{27} \setcounter{equation}{0} \setcounter{enumi}{4} \setcounter{enumii}{0} diff --git a/Schrick-Noah_MS-Thesis.aux b/Schrick-Noah_MS-Thesis.aux index b923e1a..8a1673a 100644 --- a/Schrick-Noah_MS-Thesis.aux +++ b/Schrick-Noah_MS-Thesis.aux @@ -32,9 +32,9 @@ \bibcite{cook_rage_2018}{9} \bibcite{cook_scalable_2016}{10} \@writefile{toc}{{\hfill \ }} -\@writefile{toc}{\contentsline {section}{\hspace {-\parindent }NOMENCLATURE}{25}{}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\hspace {-\parindent }NOMENCLATURE}{27}{}\protected@file@percent } \@writefile{toc}{\addvspace {10pt}} -\@writefile{toc}{\contentsline {section}{\hspace {-\parindent }BIBLIOGRAPHY}{25}{}\protected@file@percent } +\@writefile{toc}{\contentsline {section}{\hspace {-\parindent }BIBLIOGRAPHY}{27}{}\protected@file@percent } \@writefile{toc}{{\hfill \ }} \bibcite{CVE-2019-10747}{11} \bibcite{dai_fpgp_2016}{12} @@ -44,13 +44,14 @@ \bibcite{li_concurrency_2019}{16} \bibcite{9150145}{17} \bibcite{liakos_memory-optimized_2016}{18} -\bibcite{ou_scalable_2006}{19} -\bibcite{phillips_graph-based_1998}{20} -\bibcite{schneier_modeling_1999}{21} -\bibcite{sheyner_automated_2002}{22} -\bibcite{yao_efficient_2018}{23} -\bibcite{yu_construction_2018}{24} -\bibcite{zhang_boosting_2017}{25} +\bibcite{louthan_hybrid_2011}{19} +\bibcite{ou_scalable_2006}{20} +\bibcite{phillips_graph-based_1998}{21} +\bibcite{schneier_modeling_1999}{22} +\bibcite{sheyner_automated_2002}{23} +\bibcite{yao_efficient_2018}{24} +\bibcite{yu_construction_2018}{25} +\bibcite{zhang_boosting_2017}{26} \bibstyle{plain} \@input{Appendices.aux} -\gdef \@abspage@last{39} +\gdef \@abspage@last{41} diff --git a/Schrick-Noah_MS-Thesis.bbl b/Schrick-Noah_MS-Thesis.bbl index 4d0e28d..ca9b042 100644 --- a/Schrick-Noah_MS-Thesis.bbl +++ b/Schrick-Noah_MS-Thesis.bbl @@ -104,6 +104,12 @@ Panagiotis Liakos, Katia Papakonstantinopoulou, and Alex Delis. {Conference} on {Information} and {Knowledge} {Management}}, pages 2317--2322, October 2016. +\bibitem{louthan_hybrid_2011} +G~Louthan. +\newblock {\em Hybrid {Attack} {Graphs} for {Modeling} {Cyber}-{Physical} + {Systems}}. +\newblock PhD thesis, 2011. + \bibitem{ou_scalable_2006} Xinming Ou, Wayne~F Boyer, and Miles~A Mcqueen. \newblock A {Scalable} {Approach} to {Attack} {Graph} {Generation}. diff --git a/Schrick-Noah_MS-Thesis.blg b/Schrick-Noah_MS-Thesis.blg index 38509a0..806eef1 100644 --- a/Schrick-Noah_MS-Thesis.blg +++ b/Schrick-Noah_MS-Thesis.blg @@ -16,46 +16,47 @@ Warning--entry type for "j_hale_compliance_nodate" isn't style-file defined Warning--to sort, need author or key in noauthor_overview_nodate Warning--to sort, need author or key in noauthor_boost_nodate Warning--empty school in cook_rage_2018 +Warning--empty school in louthan_hybrid_2011 Warning--empty journal in ou_scalable_2006 -You've used 25 entries, +You've used 26 entries, 2118 wiz_defined-function locations, - 628 strings with 9040 characters, -and the built_in function-call counts, 8411 in all, are: -= -- 825 -> -- 381 + 632 strings with 9141 characters, +and the built_in function-call counts, 8609 in all, are: += -- 845 +> -- 388 < -- 10 -+ -- 157 -- -- 126 -* -- 516 -:= -- 1321 -add.period$ -- 70 -call.type$ -- 25 -change.case$ -- 138 ++ -- 160 +- -- 128 +* -- 527 +:= -- 1360 +add.period$ -- 73 +call.type$ -- 26 +change.case$ -- 141 chr.to.int$ -- 0 -cite$ -- 29 -duplicate$ -- 349 -empty$ -- 665 -format.name$ -- 126 -if$ -- 1821 +cite$ -- 31 +duplicate$ -- 358 +empty$ -- 679 +format.name$ -- 128 +if$ -- 1858 int.to.chr$ -- 0 -int.to.str$ -- 25 +int.to.str$ -- 26 missing$ -- 19 -newline$ -- 122 -num.names$ -- 44 -pop$ -- 173 +newline$ -- 127 +num.names$ -- 46 +pop$ -- 177 preamble$ -- 1 -purify$ -- 114 +purify$ -- 117 quote$ -- 0 -skip$ -- 306 +skip$ -- 312 stack$ -- 0 -substring$ -- 466 -swap$ -- 113 +substring$ -- 471 +swap$ -- 114 text.length$ -- 10 text.prefix$ -- 0 top$ -- 0 -type$ -- 100 -warning$ -- 4 -while$ -- 76 -width$ -- 27 -write$ -- 252 -(There were 5 warnings) +type$ -- 104 +warning$ -- 5 +while$ -- 78 +width$ -- 28 +write$ -- 262 +(There were 6 warnings) diff --git a/Schrick-Noah_MS-Thesis.lof b/Schrick-Noah_MS-Thesis.lof index bb359aa..90d935d 100644 --- a/Schrick-Noah_MS-Thesis.lof +++ b/Schrick-Noah_MS-Thesis.lof @@ -1,5 +1,6 @@ {\vspace {\baselineskip }} \contentsline {figure}{\numberline {3.1}{\ignorespaces Path Walking to State 14}}{9}{}% \contentsline {figure}{\numberline {3.2}{\ignorespaces Color Coding a Small Network Based on Violations}}{11}{}% -\contentsline {figure}{\numberline {5.1}{\ignorespaces Generation Flowchart of RAGE}}{19}{}% -\contentsline {figure}{\numberline {5.2}{\ignorespaces Task Overview of the Attack Graph Generation Process}}{20}{}% +\contentsline {figure}{\numberline {4.1}{\ignorespaces A network without Synchronous Firing generating infeasible states}}{17}{}% +\contentsline {figure}{\numberline {5.1}{\ignorespaces Generation Flowchart of RAGE}}{21}{}% +\contentsline {figure}{\numberline {5.2}{\ignorespaces Task Overview of the Attack Graph Generation Process}}{22}{}% diff --git a/Schrick-Noah_MS-Thesis.log b/Schrick-Noah_MS-Thesis.log index c88a967..10bd3a3 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) 4 MAR 2022 16:42 +This is pdfTeX, Version 3.141592653-2.6-1.40.23 (TeX Live 2021/Arch Linux) (preloaded format=pdflatex 2022.2.14) 5 MAR 2022 15:28 entering extended mode restricted \write18 enabled. %&-line parsing enabled. @@ -239,67 +239,73 @@ Package pdftex.def Info: ./Chapter3_img/CC.png used on input line 55. (./Chapter4.tex CHAPTER 4. -) [16 +<./Chapter4_img/non-sync_ex.drawio.png, id=91, 1014.79124pt x 400.49625pt> +File: ./Chapter4_img/non-sync_ex.drawio.png Graphic file (type png) + +Package pdftex.def Info: ./Chapter4_img/non-sync_ex.drawio.png used on input l +ine 17. +(pdftex.def) Requested size: 469.75499pt x 185.3916pt. +[16 -] +] [17 <./Chapter4_img/non-sync_ex.drawio.png>]) [18] \openout2 = `Chapter5.aux'. (./Chapter5.tex CHAPTER 5. -[17 +[19 ] -<./Chapter5_img/RAGE_Chart.png, id=97, 495.8525pt x 557.08125pt> +<./Chapter5_img/RAGE_Chart.png, id=106, 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=98, 1125.20375pt x 738.76pt> +<./Chapter5_img/horiz_task.drawio.png, id=107, 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. - [18] [19 <./Chapter5_img/RAGE_Chart.png>] [20 <./Chapter5_img/horiz_task.drawi -o.png>]) [21] + [20] [21 <./Chapter5_img/RAGE_Chart.png>] [22 <./Chapter5_img/horiz_task.drawi +o.png>]) [23] \openout2 = `Chapter6.aux'. (./Chapter6.tex CHAPTER 6. -[22 +[24 -]) [23] +]) [25] \openout2 = `Chapter7.aux'. (./Chapter7.tex CHAPTER 7. -) [24 +) [26 -] (./Schrick-Noah_MS-Thesis.bbl [25 +] (./Schrick-Noah_MS-Thesis.bbl [27 -] [26]) +] [28]) \c@appendixno=\count269 - [27] + [29] \openout2 = `Appendices.aux'. - (./Appendices.tex [28 + (./Appendices.tex [30 ]) -[29] (./Schrick-Noah_MS-Thesis.aux (./Chapter1.aux) (./Chapter2.aux) +[31] (./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 +318,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: - 2165 strings out of 478353 - 38294 string characters out of 5854635 - 345004 words of memory out of 5000000 - 20235 multiletter control sequences out of 15000+600000 + 2176 strings out of 478353 + 38673 string characters out of 5854635 + 345019 words of memory out of 5000000 + 20244 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 @@ -326,10 +332,10 @@ ts/type1/public/amsfonts/cm/cmr12.pfb> -Output written on Schrick-Noah_MS-Thesis.pdf (39 pages, 360533 bytes). +Output written on Schrick-Noah_MS-Thesis.pdf (41 pages, 400070 bytes). PDF statistics: - 174 PDF objects out of 1000 (max. 8388607) - 112 compressed objects within 2 object streams + 182 PDF objects out of 1000 (max. 8388607) + 116 compressed objects within 2 object streams 0 named destinations out of 1000 (max. 500000) - 21 words of extra memory for PDF output out of 10000 (max. 10000000) + 26 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 cf118267458403a33f5cb8fc209ceb84e4c03ca1..85161ac77a535fec6115b128f097068b711c8288 100644 GIT binary patch delta 54225 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 delta 15211 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 V9uzhLCoeZQI~*mYq>>ce{|BL*V59&5 diff --git a/Schrick-Noah_MS-Thesis.toc b/Schrick-Noah_MS-Thesis.toc index 2074919..bc4b195 100644 --- a/Schrick-Noah_MS-Thesis.toc +++ b/Schrick-Noah_MS-Thesis.toc @@ -32,61 +32,61 @@ \contentsline {section}{\numberline {3.5}\bf Relational Operators}{15}{}% \contentsline {chapter}{\numberline {CHAPTER 4: }{\bf \uppercase {SYNCHRONOUS FIRING}}}{16}{}% \contentsline {section}{\numberline {4.1}\bf Introduction}{16}{}% -\contentsline {subsection}{\numberline {4.1.1}\it Synchronous Firing in Literature}{16}{}% -\contentsline {section}{\numberline {4.2}\bf Necessary Components}{16}{}% -\contentsline {section}{\numberline {4.3}\bf Example Networks and Results}{16}{}% -\contentsline {subsection}{\numberline {4.3.1}\it Example Networks}{16}{}% -\contentsline {subsection}{\numberline {4.3.2}\it Results}{16}{}% -\contentsline {chapter}{\numberline {CHAPTER 5: }{\bf \uppercase {Utilization OF MESSAGE PASSING INTERFACE}}}{17}{}% -\contentsline {section}{\numberline {5.1}\bf Introduction to MPI Utilization for Attack Graph Generation}{17}{}% -\contentsline {section}{\numberline {5.2}\bf Necessary Components}{17}{}% -\contentsline {subsection}{\numberline {5.2.1}\it Serialization}{17}{}% -\contentsline {subsection}{\numberline {5.2.2}\it Data Consistency}{18}{}% -\contentsline {section}{\numberline {5.3}\bf Tasking Approach}{18}{}% -\contentsline {subsection}{\numberline {5.3.1}\it Introduction to the Tasking Approach}{18}{}% -\contentsline {subsection}{\numberline {5.3.2}\it Algorithm Design}{18}{}% -\contentsline {subsubsection}{Communication Structure}{18}{}% -\contentsline {subsubsection}{Task Zero}{18}{}% -\contentsline {subsubsection}{Task One}{18}{}% -\contentsline {subsubsection}{Task Two}{18}{}% -\contentsline {subsubsection}{Task Three}{18}{}% -\contentsline {subsubsection}{Task Four}{21}{}% -\contentsline {subsubsection}{Task Five}{21}{}% -\contentsline {subsection}{\numberline {5.3.3}\it Performance Expectations}{21}{}% -\contentsline {section}{\numberline {5.4}\bf Subgraphing Approach}{21}{}% -\contentsline {subsection}{\numberline {5.4.1}\it Introduction to the Subgraphing Approach}{21}{}% -\contentsline {subsection}{\numberline {5.4.2}\it Algorithm Design}{21}{}% -\contentsline {subsubsection}{Communication Structure}{21}{}% -\contentsline {subsubsection}{Worker Nodes}{21}{}% -\contentsline {subsubsection}{Root Node}{21}{}% -\contentsline {subsubsection}{Database Node}{21}{}% -\contentsline {subsection}{\numberline {5.4.3}\it Performance Expectations}{21}{}% -\contentsline {chapter}{\numberline {CHAPTER 6: }{\bf \uppercase {PERFORMANCE ANALYSIS}}}{22}{}% -\contentsline {section}{\numberline {6.1}\bf Small Networks}{22}{}% -\contentsline {subsection}{\numberline {6.1.1}\it Test Information}{22}{}% -\contentsline {subsection}{\numberline {6.1.2}\it Results}{22}{}% -\contentsline {subsection}{\numberline {6.1.3}\it Analysis}{22}{}% -\contentsline {section}{\numberline {6.2}\bf Large Networks}{22}{}% -\contentsline {subsection}{\numberline {6.2.1}\it Test Information}{22}{}% -\contentsline {subsection}{\numberline {6.2.2}\it Results}{22}{}% -\contentsline {subsection}{\numberline {6.2.3}\it Analysis}{22}{}% -\contentsline {section}{\numberline {6.3}\bf Large Exploit Lists}{22}{}% -\contentsline {subsection}{\numberline {6.3.1}\it Test Information}{22}{}% -\contentsline {subsection}{\numberline {6.3.2}\it Results}{22}{}% -\contentsline {subsection}{\numberline {6.3.3}\it Analysis}{22}{}% -\contentsline {section}{\numberline {6.4}\bf Distributed Hash Tables}{22}{}% -\contentsline {subsection}{\numberline {6.4.1}\it Test Information}{23}{}% -\contentsline {subsection}{\numberline {6.4.2}\it Results}{23}{}% -\contentsline {subsection}{\numberline {6.4.3}\it Analysis}{23}{}% -\contentsline {chapter}{\numberline {CHAPTER 7: }{\bf \uppercase {CONCLUSIONS AND FUTURE WORKS}}}{24}{}% -\contentsline {section}{\numberline {7.1}\bf Future Work}{24}{}% +\contentsline {subsection}{\numberline {4.1.1}\it Synchronous Firing in Literature}{17}{}% +\contentsline {section}{\numberline {4.2}\bf Necessary Components}{18}{}% +\contentsline {section}{\numberline {4.3}\bf Example Networks and Results}{18}{}% +\contentsline {subsection}{\numberline {4.3.1}\it Example Networks}{18}{}% +\contentsline {subsection}{\numberline {4.3.2}\it Results}{18}{}% +\contentsline {chapter}{\numberline {CHAPTER 5: }{\bf \uppercase {Utilization OF MESSAGE PASSING INTERFACE}}}{19}{}% +\contentsline {section}{\numberline {5.1}\bf Introduction to MPI Utilization for Attack Graph Generation}{19}{}% +\contentsline {section}{\numberline {5.2}\bf Necessary Components}{19}{}% +\contentsline {subsection}{\numberline {5.2.1}\it Serialization}{19}{}% +\contentsline {subsection}{\numberline {5.2.2}\it Data Consistency}{20}{}% +\contentsline {section}{\numberline {5.3}\bf Tasking Approach}{20}{}% +\contentsline {subsection}{\numberline {5.3.1}\it Introduction to the Tasking Approach}{20}{}% +\contentsline {subsection}{\numberline {5.3.2}\it Algorithm Design}{20}{}% +\contentsline {subsubsection}{Communication Structure}{20}{}% +\contentsline {subsubsection}{Task Zero}{20}{}% +\contentsline {subsubsection}{Task One}{20}{}% +\contentsline {subsubsection}{Task Two}{20}{}% +\contentsline {subsubsection}{Task Three}{20}{}% +\contentsline {subsubsection}{Task Four}{23}{}% +\contentsline {subsubsection}{Task Five}{23}{}% +\contentsline {subsection}{\numberline {5.3.3}\it Performance Expectations}{23}{}% +\contentsline {section}{\numberline {5.4}\bf Subgraphing Approach}{23}{}% +\contentsline {subsection}{\numberline {5.4.1}\it Introduction to the Subgraphing Approach}{23}{}% +\contentsline {subsection}{\numberline {5.4.2}\it Algorithm Design}{23}{}% +\contentsline {subsubsection}{Communication Structure}{23}{}% +\contentsline {subsubsection}{Worker Nodes}{23}{}% +\contentsline {subsubsection}{Root Node}{23}{}% +\contentsline {subsubsection}{Database Node}{23}{}% +\contentsline {subsection}{\numberline {5.4.3}\it Performance Expectations}{23}{}% +\contentsline {chapter}{\numberline {CHAPTER 6: }{\bf \uppercase {PERFORMANCE ANALYSIS}}}{24}{}% +\contentsline {section}{\numberline {6.1}\bf Small Networks}{24}{}% +\contentsline {subsection}{\numberline {6.1.1}\it Test Information}{24}{}% +\contentsline {subsection}{\numberline {6.1.2}\it Results}{24}{}% +\contentsline {subsection}{\numberline {6.1.3}\it Analysis}{24}{}% +\contentsline {section}{\numberline {6.2}\bf Large Networks}{24}{}% +\contentsline {subsection}{\numberline {6.2.1}\it Test Information}{24}{}% +\contentsline {subsection}{\numberline {6.2.2}\it Results}{24}{}% +\contentsline {subsection}{\numberline {6.2.3}\it Analysis}{24}{}% +\contentsline {section}{\numberline {6.3}\bf Large Exploit Lists}{24}{}% +\contentsline {subsection}{\numberline {6.3.1}\it Test Information}{24}{}% +\contentsline {subsection}{\numberline {6.3.2}\it Results}{24}{}% +\contentsline {subsection}{\numberline {6.3.3}\it Analysis}{24}{}% +\contentsline {section}{\numberline {6.4}\bf Distributed Hash Tables}{24}{}% +\contentsline {subsection}{\numberline {6.4.1}\it Test Information}{25}{}% +\contentsline {subsection}{\numberline {6.4.2}\it Results}{25}{}% +\contentsline {subsection}{\numberline {6.4.3}\it Analysis}{25}{}% +\contentsline {chapter}{\numberline {CHAPTER 7: }{\bf \uppercase {CONCLUSIONS AND FUTURE WORKS}}}{26}{}% +\contentsline {section}{\numberline {7.1}\bf Future Work}{26}{}% {\hfill \ } -\contentsline {section}{\hspace {-\parindent }NOMENCLATURE}{25}{}% +\contentsline {section}{\hspace {-\parindent }NOMENCLATURE}{27}{}% \addvspace {10pt} -\contentsline {section}{\hspace {-\parindent }BIBLIOGRAPHY}{25}{}% +\contentsline {section}{\hspace {-\parindent }BIBLIOGRAPHY}{27}{}% {\hfill \ } -\contentsline {section}{\hspace {-\parindent }APPENDIX A:\ \ {\bf \uppercase {THE FIRST APPENDIX}} }{28}{}% -\contentsline {section}{\hspace {-\parindent }APPENDIX B:\ \ {\bf \uppercase {THE SECOND APPENDIX}} }{29}{}% -\contentsline {section}{\numberline {B.1}\bf A Heading in an Appendix}{29}{}% -\contentsline {subsection}{\numberline {B.1.1}\it A Subheading in an Appendix}{29}{}% -\contentsline {subsubsection}{A Sub-subsection in an Appendix}{29}{}% +\contentsline {section}{\hspace {-\parindent }APPENDIX A:\ \ {\bf \uppercase {THE FIRST APPENDIX}} }{30}{}% +\contentsline {section}{\hspace {-\parindent }APPENDIX B:\ \ {\bf \uppercase {THE SECOND APPENDIX}} }{31}{}% +\contentsline {section}{\numberline {B.1}\bf A Heading in an Appendix}{31}{}% +\contentsline {subsection}{\numberline {B.1.1}\it A Subheading in an Appendix}{31}{}% +\contentsline {subsubsection}{A Sub-subsection in an Appendix}{31}{}%