{\vspace {3\baselineskip }} \contentsline {section}{\hspace {-\parindent }COPYRIGHT}{iii}{}% {\hfill \ } \contentsline {section}{\hspace {-\parindent }ABSTRACT}{iv}{}% {\hfill \ } \contentsline {section}{\hspace {-\parindent }ACKNOWLEDGEMENTS}{v}{}% {\hfill \ } \contentsline {section}{\hspace {-\parindent }TABLE OF CONTENTS}{viii}{}% {\hfill \ } \contentsline {section}{\hspace {-\parindent }LIST OF TABLES}{ix}{}% {\hfill \ } \contentsline {section}{\hspace {-\parindent }LIST OF FIGURES}{x}{}% \contentsline {chapter}{\numberline {CHAPTER 1: }{\bf \uppercase {INTRODUCTION}}}{1}{}% \contentsline {section}{\numberline {1.1}\bf Introduction to Attack Graphs}{1}{}% \contentsline {section}{\numberline {1.2}\bf Application to Compliance}{2}{}% \contentsline {subsection}{\numberline {1.2.1}\it Introduction to Compliance Graphs}{2}{}% \contentsline {subsection}{\numberline {1.2.2}\it Defining Compliance Graphs}{2}{}% \contentsline {subsection}{\numberline {1.2.3}\it Difficulties of Compliance Graphs and Introduction to Thesis Work}{3}{}% \contentsline {section}{\numberline {1.3}\bf Objectives and Contributions}{4}{}% \contentsline {chapter}{\numberline {CHAPTER 2: }{\bf \uppercase {RELATED WORKS}}}{5}{}% \contentsline {section}{\numberline {2.1}\bf Introduction to Graph Generation}{5}{}% \contentsline {section}{\numberline {2.2}\bf Graph Generation Improvements}{5}{}% \contentsline {section}{\numberline {2.3}\bf Improvements Specific to Attack Graph Generation}{6}{}% \contentsline {chapter}{\numberline {CHAPTER 3: }{\bf \uppercase {UTILITY EXTENSIONS TO THE RAGE ATTACK GRAPH GENERATOR}}}{8}{}% \contentsline {section}{\numberline {3.1}\bf Path Walking}{8}{}% \contentsline {section}{\numberline {3.2}\bf Compound Operators}{8}{}% \contentsline {section}{\numberline {3.3}\bf Color Coding}{10}{}% \contentsline {section}{\numberline {3.4}\bf Intermediate Database Storage}{11}{}% \contentsline {subsection}{\numberline {3.4.1}\it Memory Constraint Difficulties}{11}{}% \contentsline {subsection}{\numberline {3.4.2}\it Maximizing Performance with Intermediate Database Storage}{13}{}% \contentsline {subsection}{\numberline {3.4.3}\it Portability}{15}{}% \contentsline {section}{\numberline {3.5}\bf Relational Operators}{15}{}% \contentsline {chapter}{\numberline {CHAPTER 4: }{\bf \uppercase {SYNCHRONOUS FIRING}}}{17}{}% \contentsline {section}{\numberline {4.1}\bf Introduction}{17}{}% \contentsline {subsection}{\numberline {4.1.1}\it Synchronous Firing in Literature}{18}{}% \contentsline {section}{\numberline {4.2}\bf Necessary Alterations}{19}{}% \contentsline {subsection}{\numberline {4.2.1}\it GNU Bison and Flex}{19}{}% \contentsline {subsection}{\numberline {4.2.2}\it PostgreSQL}{20}{}% \contentsline {subsection}{\numberline {4.2.3}\it Compound Operators}{21}{}% \contentsline {subsection}{\numberline {4.2.4}\it Graph Generation}{21}{}% \contentsline {section}{\numberline {4.3}\bf Example Networks and Results}{22}{}% \contentsline {subsection}{\numberline {4.3.1}\it Example Networks}{22}{}% \contentsline {subsection}{\numberline {4.3.2}\it Results}{24}{}% \contentsline {chapter}{\numberline {CHAPTER 5: }{\bf \uppercase {Utilization OF MESSAGE PASSING INTERFACE}}}{28}{}% \contentsline {section}{\numberline {5.1}\bf Introduction to MPI Utilization for Attack Graph Generation}{28}{}% \contentsline {section}{\numberline {5.2}\bf Necessary Components}{28}{}% \contentsline {subsection}{\numberline {5.2.1}\it Serialization}{28}{}% \contentsline {subsection}{\numberline {5.2.2}\it Data Consistency}{29}{}% \contentsline {section}{\numberline {5.3}\bf Tasking Approach}{29}{}% \contentsline {subsection}{\numberline {5.3.1}\it Introduction to the Tasking Approach}{29}{}% \contentsline {subsection}{\numberline {5.3.2}\it Algorithm Design}{29}{}% \contentsline {subsubsection}{Communication Structure}{32}{}% \contentsline {subsubsection}{Task 0}{32}{}% \contentsline {subsubsection}{Task 1}{32}{}% \contentsline {subsubsection}{Task 2}{33}{}% \contentsline {subsubsection}{Task 3}{35}{}% \contentsline {subsubsection}{Task 4 and Task 5}{35}{}% \contentsline {subsubsection}{MPI Tags}{36}{}% \contentsline {subsection}{\numberline {5.3.3}\it Performance Expectations}{37}{}% \contentsline {subsection}{\numberline {5.3.4}\it Results}{37}{}% \contentsline {section}{\numberline {5.4}\bf Subgraphing Approach}{38}{}% \contentsline {subsection}{\numberline {5.4.1}\it Introduction to the Subgraphing Approach}{40}{}% \contentsline {subsection}{\numberline {5.4.2}\it Algorithm Design}{40}{}% \contentsline {subsubsection}{Worker Nodes}{41}{}% \contentsline {subsubsection}{Root Node}{42}{}% \contentsline {subsubsection}{Database Node}{43}{}% \contentsline {subsection}{\numberline {5.4.3}\it Performance Expectations}{43}{}% \contentsline {subsection}{\numberline {5.4.4}\it Results}{44}{}% \contentsline {chapter}{\numberline {CHAPTER 6: }{\bf \uppercase {PERFORMANCE ANALYSIS}}}{45}{}% \contentsline {section}{\numberline {6.1}\bf Small Networks}{45}{}% \contentsline {subsection}{\numberline {6.1.1}\it Test Information}{45}{}% \contentsline {subsection}{\numberline {6.1.2}\it Results}{45}{}% \contentsline {subsection}{\numberline {6.1.3}\it Analysis}{45}{}% \contentsline {section}{\numberline {6.2}\bf Large Networks}{45}{}% \contentsline {subsection}{\numberline {6.2.1}\it Test Information}{45}{}% \contentsline {subsection}{\numberline {6.2.2}\it Results}{45}{}% \contentsline {subsection}{\numberline {6.2.3}\it Analysis}{45}{}% \contentsline {section}{\numberline {6.3}\bf Large Exploit Lists}{45}{}% \contentsline {subsection}{\numberline {6.3.1}\it Test Information}{45}{}% \contentsline {subsection}{\numberline {6.3.2}\it Results}{45}{}% \contentsline {subsection}{\numberline {6.3.3}\it Analysis}{45}{}% \contentsline {section}{\numberline {6.4}\bf Distributed Hash Tables}{45}{}% \contentsline {subsection}{\numberline {6.4.1}\it Test Information}{46}{}% \contentsline {subsection}{\numberline {6.4.2}\it Results}{46}{}% \contentsline {subsection}{\numberline {6.4.3}\it Analysis}{46}{}% \contentsline {chapter}{\numberline {CHAPTER 7: }{\bf \uppercase {CONCLUSIONS AND FUTURE WORKS}}}{47}{}% \contentsline {section}{\numberline {7.1}\bf Future Work}{47}{}% {\hfill \ } \contentsline {section}{\hspace {-\parindent }NOMENCLATURE}{48}{}% \addvspace {10pt} \contentsline {section}{\hspace {-\parindent }BIBLIOGRAPHY}{48}{}% {\hfill \ } \contentsline {section}{\hspace {-\parindent }APPENDIX A:\ \ {\bf \uppercase {THE FIRST APPENDIX}} }{51}{}% \contentsline {section}{\hspace {-\parindent }APPENDIX B:\ \ {\bf \uppercase {THE SECOND APPENDIX}} }{52}{}% \contentsline {section}{\numberline {B.1}\bf A Heading in an Appendix}{52}{}% \contentsline {subsection}{\numberline {B.1.1}\it A Subheading in an Appendix}{52}{}% \contentsline {subsubsection}{A Sub-subsection in an Appendix}{52}{}%