Bison and Flex

This commit is contained in:
Noah L. Schrick 2022-03-06 17:31:41 -06:00
parent a8f5728f8e
commit e152d55dd8
12 changed files with 209 additions and 151 deletions

View File

@ -1,13 +1,13 @@
\relax
\@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 }
\@writefile{toc}{\contentsline {section}{\hspace {-\parindent }APPENDIX A:\ \ {\bf \uppercase {THE FIRST APPENDIX}} }{32}{}\protected@file@percent }
\newlabel{App:A}{{A}{32}}
\@writefile{toc}{\contentsline {section}{\hspace {-\parindent }APPENDIX B:\ \ {\bf \uppercase {THE SECOND APPENDIX}} }{33}{}\protected@file@percent }
\newlabel{App:B}{{B}{33}}
\@writefile{toc}{\contentsline {section}{\numberline {B.1}\bf A Heading in an Appendix}{33}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {B.1.1}\it A Subheading in an Appendix}{33}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{A Sub-subsection in an Appendix}{33}{}\protected@file@percent }
\@setckpt{Appendices}{
\setcounter{page}{32}
\setcounter{page}{34}
\setcounter{equation}{0}
\setcounter{enumi}{4}
\setcounter{enumii}{0}

View File

@ -10,12 +10,21 @@
\@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 }
\newlabel{sec:sync-lit}{{4.1.1}{17}}
\citation{cook_rage_2018}
\citation{louthan_hybrid_2011}
\@writefile{toc}{\contentsline {section}{\numberline {4.2}\bf Necessary Alterations}{18}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {4.2.1}\it GNU Bison and Flex}{18}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {4.2.2}\it PostgreSQL}{19}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {4.2.3}\it Compound Operators}{19}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {4.2.4}\it Graph Generation}{19}{}\protected@file@percent }
\@writefile{lof}{\contentsline {figure}{\numberline {4.2}{\ignorespaces Inclusion of Synchronous Firing into GNU Bison and GNU Flex}}{20}{}\protected@file@percent }
\newlabel{fig:bison-flex}{{4.2}{20}}
\@writefile{toc}{\contentsline {section}{\numberline {4.3}\bf Example Networks and Results}{20}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {4.3.1}\it Example Networks}{20}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {4.3.2}\it Results}{20}{}\protected@file@percent }
\@setckpt{Chapter4}{
\setcounter{page}{19}
\setcounter{page}{21}
\setcounter{equation}{0}
\setcounter{enumi}{4}
\setcounter{enumii}{0}
@ -30,7 +39,7 @@
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\setcounter{figure}{1}
\setcounter{figure}{2}
\setcounter{table}{0}
\setcounter{lofdepth}{1}
\setcounter{lotdepth}{1}

View File

@ -25,7 +25,7 @@ from generating infeasible states, as well as exploring the infeasible states. I
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}
\TUsubsection{Synchronous Firing in Literature} \label{sec:sync-lit}
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 described 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
@ -36,7 +36,39 @@ behavior of the work would attempt to fire all exploits on all applicable assets
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 synchronous firing feature in this new work was likewise developed in C++.
\TUsection{Necessary Components}
\TUsection{Necessary Alterations}
For the implementation of the Synchronous Fire Feature, there are four primary changes and/or additions necessary. The first is a change in the lexical analyzer, the second involves multiple changes
to PostgreSQL, the third is the implementation of compound operators (as discussed in Section \ref{sec:compops}), and lastly is a change in the graph generation process. This section will
compromise of subsections discussing the development of these four alterations.
\TUsubsection{GNU Bison and Flex}
The work conducted by the author of \cite{cook_rage_2018} included the introduction of GNU Bison and GNU Flex into RAGE. The introduction of Bison and Flex allows for an easily modifiable grammar to
adjust features, the ability to easily update parsers since Bison and Flex are built into the build system, and increases portability since Flex and Bison generate standard C. For the development of
the synchronous fire, a similar approach was taken to that of the work performed by the author of \cite{louthan_hybrid_2011} with the exploit keywords. However, rather than having both global and group
keywords, this work only incorporates the group keyword to prevent a few of the difficulties discussed in Section \ref{sec:sync-lit}. The new ``group" keyword is intended to be used when creating the
exploit files. The design of exploits in the exploit file is developed as: \begin{verbatim} <exploit> ::= <group name> "group" "exploit" <identifier> , (<parameter-list>)= \end{verbatim} where the
``$<$group name$>$" identifier
and ``group" keyword is optional. An example of an exploit not utilizing the group feature is: \begin{verbatim}exploit brake_pads(2015_Toyota_Corolla_LE)=\end{verbatim} and an example of an exploit utilizing the group feature is:
\begin{verbatim}time group exploit advance_month(all_applicable)=\end{verbatim}
To implement this feature, a few changes were conducted, where the intention is to detect the usage of the ``group" keyword, and have the lexical analyzer code return to the parser implementation file to
alert of the presence of the "GROUP" token. The new token is of type string with the name GROUP, and it is comprised of a leading ``IDENTIFIER" of type string or integer token, followed by the GROUP token.
This new token also required changes to the processing of the ``exploit" keyword. If the group keyword is not detected, the exploit has a group of name ``null". If the group keyword is detected, then the
leading IDENTIFIER is parsed, and the exploit is assigned to a group with the parsed name. Various auxiliary functions were also adjusted to include (for instance) support for printing the groups of each
exploit. Figure \ref{fig:bison-flex} illustrates the incorporation of this feature into Bison, Flex, and the overall program.
\begin{figure}[htp]
\includegraphics[width=\linewidth]{"./Chapter4_img/Bison-Flex.png"}
\vspace{.2truein} \centerline{}
\caption{Inclusion of Synchronous Firing into GNU Bison and GNU Flex}
\label{fig:bison-flex}
\end{figure}
\TUsubsection{PostgreSQL}
\TUsubsection{Compound Operators}
\TUsubsection{Graph Generation}
\TUsection{Example Networks and Results}
\TUsubsection{Example Networks}

BIN
Chapter4_img/Bison-Flex.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

View File

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

View File

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

View File

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

View File

@ -32,9 +32,9 @@
\bibcite{cook_rage_2018}{9}
\bibcite{cook_scalable_2016}{10}
\@writefile{toc}{{\hfill \ }}
\@writefile{toc}{\contentsline {section}{\hspace {-\parindent }NOMENCLATURE}{27}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\hspace {-\parindent }NOMENCLATURE}{29}{}\protected@file@percent }
\@writefile{toc}{\addvspace {10pt}}
\@writefile{toc}{\contentsline {section}{\hspace {-\parindent }BIBLIOGRAPHY}{27}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\hspace {-\parindent }BIBLIOGRAPHY}{29}{}\protected@file@percent }
\@writefile{toc}{{\hfill \ }}
\bibcite{CVE-2019-10747}{11}
\bibcite{dai_fpgp_2016}{12}
@ -54,4 +54,4 @@
\bibcite{zhang_boosting_2017}{26}
\bibstyle{plain}
\@input{Appendices.aux}
\gdef \@abspage@last{41}
\gdef \@abspage@last{43}

View File

@ -2,5 +2,6 @@
\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 {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}{}%
\contentsline {figure}{\numberline {4.2}{\ignorespaces Inclusion of Synchronous Firing into GNU Bison and GNU Flex}}{20}{}%
\contentsline {figure}{\numberline {5.1}{\ignorespaces Generation Flowchart of RAGE}}{23}{}%
\contentsline {figure}{\numberline {5.2}{\ignorespaces Task Overview of the Attack Graph Generation Process}}{24}{}%

View File

@ -1,4 +1,4 @@
This is pdfTeX, Version 3.141592653-2.6-1.40.23 (TeX Live 2021/Arch Linux) (preloaded format=pdflatex 2022.2.14) 5 MAR 2022 15:28
This is pdfTeX, Version 3.141592653-2.6-1.40.23 (TeX Live 2021/Arch Linux) (preloaded format=pdflatex 2022.2.14) 6 MAR 2022 17:30
entering extended mode
restricted \write18 enabled.
%&-line parsing enabled.
@ -250,62 +250,73 @@ ine 17.
] [17 <./Chapter4_img/non-sync_ex.drawio.png>]) [18]
] [17 <./Chapter4_img/non-sync_ex.drawio.png>] [18]
Overfull \hbox (30.42026pt too wide) in paragraph at lines 49--49
[] \OT1/cmtt/m/n/12 <exploit> ::= <group name> "group" "exploit" <identifier>
, (<parameter-list>)=
[]
<./Chapter4_img/Bison-Flex.png, id=103, 1447.4075pt x 492.84125pt>
File: ./Chapter4_img/Bison-Flex.png Graphic file (type png)
<use ./Chapter4_img/Bison-Flex.png>
Package pdftex.def Info: ./Chapter4_img/Bison-Flex.png used on input line 61.
(pdftex.def) Requested size: 469.75499pt x 159.95341pt.
[19]) [20 <./Chapter4_img/Bison-Flex.png (PNG copy)>]
\openout2 = `Chapter5.aux'.
(./Chapter5.tex
CHAPTER 5.
[19
[21
]
<./Chapter5_img/RAGE_Chart.png, id=106, 495.8525pt x 557.08125pt>
<./Chapter5_img/RAGE_Chart.png, id=115, 495.8525pt x 557.08125pt>
File: ./Chapter5_img/RAGE_Chart.png Graphic file (type png)
<use ./Chapter5_img/RAGE_Chart.png>
Package pdftex.def Info: ./Chapter5_img/RAGE_Chart.png used on input line 43.
(pdftex.def) Requested size: 469.75499pt x 527.76213pt.
<./Chapter5_img/horiz_task.drawio.png, id=107, 1125.20375pt x 738.76pt>
<./Chapter5_img/horiz_task.drawio.png, id=116, 1125.20375pt x 738.76pt>
File: ./Chapter5_img/horiz_task.drawio.png Graphic file (type png)
<use ./Chapter5_img/horiz_task.drawio.png>
Package pdftex.def Info: ./Chapter5_img/horiz_task.drawio.png used on input li
ne 49.
(pdftex.def) Requested size: 469.75499pt x 308.4171pt.
[20] [21 <./Chapter5_img/RAGE_Chart.png>] [22 <./Chapter5_img/horiz_task.drawi
o.png>]) [23]
[22] [23 <./Chapter5_img/RAGE_Chart.png>] [24 <./Chapter5_img/horiz_task.drawi
o.png>]) [25]
\openout2 = `Chapter6.aux'.
(./Chapter6.tex
CHAPTER 6.
[24
[26
]) [25]
]) [27]
\openout2 = `Chapter7.aux'.
(./Chapter7.tex
CHAPTER 7.
) [26
) [28
] (./Schrick-Noah_MS-Thesis.bbl [27
] (./Schrick-Noah_MS-Thesis.bbl [29
] [28])
] [30])
\c@appendixno=\count269
[29]
[31]
\openout2 = `Appendices.aux'.
(./Appendices.tex [30
(./Appendices.tex [32
])
[31] (./Schrick-Noah_MS-Thesis.aux (./Chapter1.aux) (./Chapter2.aux)
[33] (./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)
@ -318,24 +329,25 @@ CHAPTER 7.
### semi simple group (level 1) entered at line 52 (\begingroup)
### bottom level
Here is how much of TeX's memory you used:
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
2188 strings out of 478353
38986 string characters out of 5854635
345043 words of memory out of 5000000
20254 multiletter control sequences out of 15000+600000
407326 words of font info for 40 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
55i,7n,62p,308b,1305s 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
ts/type1/public/amsfonts/cm/cmr12.pfb></usr/share/texmf-dist/fonts/type1/public
/amsfonts/cm/cmr8.pfb></usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cms
y10.pfb></usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmti12.pfb></usr/
share/texmf-dist/fonts/type1/public/cm-super/sfrm1200.pfb>
Output written on Schrick-Noah_MS-Thesis.pdf (41 pages, 400070 bytes).
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 (43 pages, 436813 bytes).
PDF statistics:
182 PDF objects out of 1000 (max. 8388607)
116 compressed objects within 2 object streams
195 PDF objects out of 1000 (max. 8388607)
124 compressed objects within 2 object streams
0 named destinations out of 1000 (max. 500000)
26 words of extra memory for PDF output out of 10000 (max. 10000000)
31 words of extra memory for PDF output out of 10000 (max. 10000000)

Binary file not shown.

View File

@ -33,60 +33,64 @@
\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}{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}{}%
\contentsline {section}{\numberline {4.2}\bf Necessary Alterations}{18}{}%
\contentsline {subsection}{\numberline {4.2.1}\it GNU Bison and Flex}{18}{}%
\contentsline {subsection}{\numberline {4.2.2}\it PostgreSQL}{19}{}%
\contentsline {subsection}{\numberline {4.2.3}\it Compound Operators}{19}{}%
\contentsline {subsection}{\numberline {4.2.4}\it Graph Generation}{19}{}%
\contentsline {section}{\numberline {4.3}\bf Example Networks and Results}{20}{}%
\contentsline {subsection}{\numberline {4.3.1}\it Example Networks}{20}{}%
\contentsline {subsection}{\numberline {4.3.2}\it Results}{20}{}%
\contentsline {chapter}{\numberline {CHAPTER 5: }{\bf \uppercase {Utilization OF MESSAGE PASSING INTERFACE}}}{21}{}%
\contentsline {section}{\numberline {5.1}\bf Introduction to MPI Utilization for Attack Graph Generation}{21}{}%
\contentsline {section}{\numberline {5.2}\bf Necessary Components}{21}{}%
\contentsline {subsection}{\numberline {5.2.1}\it Serialization}{21}{}%
\contentsline {subsection}{\numberline {5.2.2}\it Data Consistency}{22}{}%
\contentsline {section}{\numberline {5.3}\bf Tasking Approach}{22}{}%
\contentsline {subsection}{\numberline {5.3.1}\it Introduction to the Tasking Approach}{22}{}%
\contentsline {subsection}{\numberline {5.3.2}\it Algorithm Design}{22}{}%
\contentsline {subsubsection}{Communication Structure}{22}{}%
\contentsline {subsubsection}{Task Zero}{22}{}%
\contentsline {subsubsection}{Task One}{22}{}%
\contentsline {subsubsection}{Task Two}{22}{}%
\contentsline {subsubsection}{Task Three}{22}{}%
\contentsline {subsubsection}{Task Four}{25}{}%
\contentsline {subsubsection}{Task Five}{25}{}%
\contentsline {subsection}{\numberline {5.3.3}\it Performance Expectations}{25}{}%
\contentsline {section}{\numberline {5.4}\bf Subgraphing Approach}{25}{}%
\contentsline {subsection}{\numberline {5.4.1}\it Introduction to the Subgraphing Approach}{25}{}%
\contentsline {subsection}{\numberline {5.4.2}\it Algorithm Design}{25}{}%
\contentsline {subsubsection}{Communication Structure}{25}{}%
\contentsline {subsubsection}{Worker Nodes}{25}{}%
\contentsline {subsubsection}{Root Node}{25}{}%
\contentsline {subsubsection}{Database Node}{25}{}%
\contentsline {subsection}{\numberline {5.4.3}\it Performance Expectations}{25}{}%
\contentsline {chapter}{\numberline {CHAPTER 6: }{\bf \uppercase {PERFORMANCE ANALYSIS}}}{26}{}%
\contentsline {section}{\numberline {6.1}\bf Small Networks}{26}{}%
\contentsline {subsection}{\numberline {6.1.1}\it Test Information}{26}{}%
\contentsline {subsection}{\numberline {6.1.2}\it Results}{26}{}%
\contentsline {subsection}{\numberline {6.1.3}\it Analysis}{26}{}%
\contentsline {section}{\numberline {6.2}\bf Large Networks}{26}{}%
\contentsline {subsection}{\numberline {6.2.1}\it Test Information}{26}{}%
\contentsline {subsection}{\numberline {6.2.2}\it Results}{26}{}%
\contentsline {subsection}{\numberline {6.2.3}\it Analysis}{26}{}%
\contentsline {section}{\numberline {6.3}\bf Large Exploit Lists}{26}{}%
\contentsline {subsection}{\numberline {6.3.1}\it Test Information}{26}{}%
\contentsline {subsection}{\numberline {6.3.2}\it Results}{26}{}%
\contentsline {subsection}{\numberline {6.3.3}\it Analysis}{26}{}%
\contentsline {section}{\numberline {6.4}\bf Distributed Hash Tables}{26}{}%
\contentsline {subsection}{\numberline {6.4.1}\it Test Information}{27}{}%
\contentsline {subsection}{\numberline {6.4.2}\it Results}{27}{}%
\contentsline {subsection}{\numberline {6.4.3}\it Analysis}{27}{}%
\contentsline {chapter}{\numberline {CHAPTER 7: }{\bf \uppercase {CONCLUSIONS AND FUTURE WORKS}}}{28}{}%
\contentsline {section}{\numberline {7.1}\bf Future Work}{28}{}%
{\hfill \ }
\contentsline {section}{\hspace {-\parindent }NOMENCLATURE}{27}{}%
\contentsline {section}{\hspace {-\parindent }NOMENCLATURE}{29}{}%
\addvspace {10pt}
\contentsline {section}{\hspace {-\parindent }BIBLIOGRAPHY}{27}{}%
\contentsline {section}{\hspace {-\parindent }BIBLIOGRAPHY}{29}{}%
{\hfill \ }
\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}{}%
\contentsline {section}{\hspace {-\parindent }APPENDIX A:\ \ {\bf \uppercase {THE FIRST APPENDIX}} }{32}{}%
\contentsline {section}{\hspace {-\parindent }APPENDIX B:\ \ {\bf \uppercase {THE SECOND APPENDIX}} }{33}{}%
\contentsline {section}{\numberline {B.1}\bf A Heading in an Appendix}{33}{}%
\contentsline {subsection}{\numberline {B.1.1}\it A Subheading in an Appendix}{33}{}%
\contentsline {subsubsection}{A Sub-subsection in an Appendix}{33}{}%