Adding images to manuscript; adding new analysis blurb; adding normalization commentary to psql section

This commit is contained in:
Noah L. Schrick 2022-10-11 10:53:26 -05:00
parent acd98b2a91
commit 94b3c15cd3
4 changed files with 107 additions and 42 deletions

View File

@ -46,8 +46,6 @@
\newlabel{fig:non-sync_ex}{{1}{2}{A network without Synchronous Firing generating infeasible states}{figure.1}{}}
\citation{cook_rage_2018}
\citation{louthan_hybrid_2011}
\citation{nichols_2018}
\citation{cook_rage_2018}
\@writefile{toc}{\contentsline {section}{\numberline {IV}Implementing Synchronous Firing}{3}{section.4}\protected@file@percent }
\newlabel{sec:implementing}{{IV}{3}{Implementing Synchronous Firing}{section.4}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {\mbox {IV-A}}Base Generator Description}{3}{subsection.4.1}\protected@file@percent }
@ -55,6 +53,8 @@
\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces Inclusion of Synchronous Firing into GNU Bison, GNU Flex, and the overall program}}{3}{figure.2}\protected@file@percent }
\newlabel{fig:bison-flex}{{2}{3}{Inclusion of Synchronous Firing into GNU Bison, GNU Flex, and the overall program}{figure.2}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {\mbox {IV-C}}PostgreSQL}{3}{subsection.4.3}\protected@file@percent }
\citation{nichols_2018}
\citation{cook_rage_2018}
\citation{cook_rage_2018}
\@writefile{toc}{\contentsline {subsection}{\numberline {\mbox {IV-D}}Compound Operators}{4}{subsection.4.4}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {\mbox {IV-E}}Graph Generation}{4}{subsection.4.5}\protected@file@percent }
@ -76,7 +76,18 @@
\newlabel{fig:Sync-Spd}{{6}{6}{Speedup (Amdahl's) Obtained When Using Synchronous Firing}{figure.6}{}}
\@writefile{lot}{\contentsline {table}{\numberline {I}{\ignorespaces Tabled Results for the Non-Synchronous Firing Testing}}{6}{table.1}\protected@file@percent }
\newlabel{table:NS-Table}{{I}{6}{Tabled Results for the Non-Synchronous Firing Testing}{table.1}{}}
\@writefile{toc}{\contentsline {section}{\numberline {VI}Future Works}{6}{section.6}\protected@file@percent }
\@writefile{lot}{\contentsline {table}{\numberline {II}{\ignorespaces Tabled Results for the Synchronous Firing Testing}}{7}{table.2}\protected@file@percent }
\newlabel{table:S-Table}{{II}{7}{Tabled Results for the Synchronous Firing Testing}{table.2}{}}
\@writefile{lot}{\contentsline {table}{\numberline {III}{\ignorespaces Tabled Results for the Comprehensive Services without Synchronous Firing}}{7}{table.3}\protected@file@percent }
\newlabel{table:Non-Sync-Comp-Table}{{III}{7}{Tabled Results for the Comprehensive Services without Synchronous Firing}{table.3}{}}
\@writefile{toc}{\contentsline {section}{\numberline {VI}Future Works}{7}{section.6}\protected@file@percent }
\newlabel{sec:fw}{{VI}{7}{Future Works}{section.6}{}}
\@writefile{lot}{\contentsline {table}{\numberline {IV}{\ignorespaces Tabled Results for the Comprehensive Services with Synchronous Firing}}{7}{table.4}\protected@file@percent }
\newlabel{table:Sync-Comp-Table}{{IV}{7}{Tabled Results for the Comprehensive Services with Synchronous Firing}{table.4}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {7}{\ignorespaces Synchronous Firing on Runtime}}{7}{figure.7}\protected@file@percent }
\newlabel{fig:Comp-Sync-RT}{{7}{7}{Synchronous Firing on Runtime}{figure.7}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {8}{\ignorespaces Bar Graph and Line Graph Representations of Synchronous Firing with Comprehensive Services on State Space}}{7}{figure.8}\protected@file@percent }
\newlabel{fig:Comp-Sync-State}{{8}{7}{Bar Graph and Line Graph Representations of Synchronous Firing with Comprehensive Services on State Space}{figure.8}{}}
\bibdata{Bibliography}
\bibcite{phillips_graph-based_1998}{1}
\bibcite{schneier_modeling_1999}{2}
@ -92,12 +103,8 @@
\bibcite{cook_rage_2018}{12}
\bibcite{nichols_2018}{13}
\bibstyle{ieeetr}
\@writefile{lot}{\contentsline {table}{\numberline {II}{\ignorespaces Tabled Results for the Synchronous Firing Testing}}{7}{table.2}\protected@file@percent }
\newlabel{table:S-Table}{{II}{7}{Tabled Results for the Synchronous Firing Testing}{table.2}{}}
\@writefile{lot}{\contentsline {table}{\numberline {III}{\ignorespaces Tabled Results for the Comprehensive Services without Synchronous Firing}}{7}{table.3}\protected@file@percent }
\newlabel{table:Non-Sync-Comp-Table}{{III}{7}{Tabled Results for the Comprehensive Services without Synchronous Firing}{table.3}{}}
\@writefile{toc}{\contentsline {section}{\numberline {VII}Conclusion}{7}{section.7}\protected@file@percent }
\@writefile{lot}{\contentsline {table}{\numberline {IV}{\ignorespaces Tabled Results for the Comprehensive Services with Synchronous Firing}}{7}{table.4}\protected@file@percent }
\newlabel{table:Sync-Comp-Table}{{IV}{7}{Tabled Results for the Comprehensive Services with Synchronous Firing}{table.4}{}}
\@writefile{toc}{\contentsline {section}{References}{7}{section*.1}\protected@file@percent }
\gdef \@abspage@last{7}
\@writefile{lof}{\contentsline {figure}{\numberline {9}{\ignorespaces Speedup (Amdahl's) Obtained When Using Synchronous Firing with Comprehensive Services}}{8}{figure.9}\protected@file@percent }
\newlabel{fig:Comp-Sync-Spd}{{9}{8}{Speedup (Amdahl's) Obtained When Using Synchronous Firing with Comprehensive Services}{figure.9}{}}
\@writefile{toc}{\contentsline {section}{\numberline {VII}Conclusion}{8}{section.7}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{References}{8}{section*.1}\protected@file@percent }
\gdef \@abspage@last{8}

View File

@ -1,4 +1,4 @@
This is pdfTeX, Version 3.141592653-2.6-1.40.24 (TeX Live 2022/Arch Linux) (preloaded format=pdflatex 2022.4.29) 11 OCT 2022 10:14
This is pdfTeX, Version 3.141592653-2.6-1.40.24 (TeX Live 2022/Arch Linux) (preloaded format=pdflatex 2022.4.29) 11 OCT 2022 10:52
entering extended mode
restricted \write18 enabled.
%&-line parsing enabled.
@ -560,7 +560,7 @@ File: ./images/vert_Bison-Flex.drawio.png Graphic file (type png)
Package pdftex.def Info: ./images/vert_Bison-Flex.drawio.png used on input lin
e 133.
(pdftex.def) Requested size: 252.0pt x 324.98593pt.
[3 <./images/vert_Bison-Flex.drawio.png>]
Underfull \hbox (badness 2205) in paragraph at lines 145--148
[]\OT1/ptm/m/n/10 Many of the graphs previously generated by RAGE
[]
@ -572,7 +572,7 @@ Underfull \hbox (badness 2351) in paragraph at lines 145--148
/n/10 "$\OT1/ptm/m/n/10 , or other general
[]
[3 <./images/vert_Bison-Flex.drawio.png>]
Underfull \hbox (badness 1895) in paragraph at lines 155--156
[]\OT1/ptm/m/n/10 Other changes involved updating classes (namely the
[]
@ -616,22 +616,54 @@ File: ./images/Sync_Speedup.png Graphic file (type png)
Package pdftex.def Info: ./images/Sync_Speedup.png used on input line 232.
(pdftex.def) Requested size: 252.0pt x 111.66722pt.
LaTeX Warning: Reference `sec:theo_results' on page 6 undefined on input line 2
84.
Underfull \hbox (badness 3919) in paragraph at lines 284--285
\OT1/ptm/m/n/10 possible states of the two cars in compliance graph
Underfull \hbox (badness 2245) in paragraph at lines 284--285
\OT1/ptm/m/n/10 and resulting graphs presented in Section [][][]1[][] depict
[]
Underfull \hbox (badness 2277) in paragraph at lines 336--337
\OT1/ptm/m/n/10 reduction due to the increased number of unattainable
Underfull \hbox (badness 2173) in paragraph at lines 290--291
\OT1/ptm/m/n/10 in state space and an improvement in runtime. When
[]
[6 <./images/Sync-Runtime-Bar.png> <./images/Sync-Runtime.png> <./images/Sync-S
tateSpace-Bar.png> <./images/Sync-StateSpace.png> <./images/Sync_Speedup.png>]
<./images/Comp-Sync-Runtime-Bar.png, id=190, 602.25pt x 238.491pt>
File: ./images/Comp-Sync-Runtime-Bar.png Graphic file (type png)
<use ./images/Comp-Sync-Runtime-Bar.png>
Package pdftex.def Info: ./images/Comp-Sync-Runtime-Bar.png used on input line
341.
(pdftex.def) Requested size: 252.0pt x 99.7907pt.
<./images/Comp-Sync-Runtime.png, id=191, 549.69pt x 236.301pt>
File: ./images/Comp-Sync-Runtime.png Graphic file (type png)
<use ./images/Comp-Sync-Runtime.png>
Package pdftex.def Info: ./images/Comp-Sync-Runtime.png used on input line 342
.
(pdftex.def) Requested size: 252.0pt x 108.32838pt.
<./images/Comp-Sync-StateSpace-Bar.png, id=192, 600.717pt x 230.607pt>
File: ./images/Comp-Sync-StateSpace-Bar.png Graphic file (type png)
<use ./images/Comp-Sync-StateSpace-Bar.png>
Package pdftex.def Info: ./images/Comp-Sync-StateSpace-Bar.png used on input l
ine 349.
(pdftex.def) Requested size: 252.0pt x 96.73814pt.
<./images/Comp-Sync-StateSpace.png, id=193, 532.17pt x 236.739pt>
File: ./images/Comp-Sync-StateSpace.png Graphic file (type png)
<use ./images/Comp-Sync-StateSpace.png>
Package pdftex.def Info: ./images/Comp-Sync-StateSpace.png used on input line
350.
(pdftex.def) Requested size: 252.0pt x 112.1054pt.
<./images/Comp-Sync_Speedup.png, id=194, 533.265pt x 236.301pt>
File: ./images/Comp-Sync_Speedup.png Graphic file (type png)
<use ./images/Comp-Sync_Speedup.png>
Package pdftex.def Info: ./images/Comp-Sync_Speedup.png used on input line 357
.
(pdftex.def) Requested size: 252.0pt x 111.66722pt.
Underfull \hbox (badness 2277) in paragraph at lines 365--366
\OT1/ptm/m/n/10 reduction due to the increased number of unattainable
[]
[7 <./images/Comp-Sync-Runtime-Bar.png> <./images/Comp-Sync-Runtime.png> <./ima
ges/Comp-Sync-StateSpace-Bar.png> <./images/Comp-Sync-StateSpace.png>]
(./Schrick-Noah_AG-CG-SyncFire.bbl
Underfull \hbox (badness 1442) in paragraph at lines 24--29
\OT1/ptm/m/n/8 A Focus on Cyberphysical Systems and Internet of Things,'' in
@ -661,20 +693,17 @@ Before submitting the final camera ready copy, remember to:
uses only Type 1 fonts and that every step in the generation
process uses the appropriate paper size.
[7] (./Schrick-Noah_AG-CG-SyncFire.aux)
LaTeX Warning: There were undefined references.
[8 <./images/Comp-Sync_Speedup.png>] (./Schrick-Noah_AG-CG-SyncFire.aux)
Package rerunfilecheck Info: File `Schrick-Noah_AG-CG-SyncFire.out' has not cha
nged.
(rerunfilecheck) Checksum: 1C5501F0659DD1A843CB52115FE74CFE;2654.
)
Here is how much of TeX's memory you used:
12135 strings out of 478238
192697 string characters out of 5850456
526539 words of memory out of 5000000
30147 multiletter control sequences out of 15000+600000
509014 words of font info for 103 fonts, out of 8000000 for 9000
12181 strings out of 478238
194261 string characters out of 5850456
521860 words of memory out of 5000000
30185 multiletter control sequences out of 15000+600000
507907 words of font info for 102 fonts, out of 8000000 for 9000
1141 hyphenation exceptions out of 8191
60i,14n,63p,1233b,387s stack positions out of 5000i,500n,10000p,200000b,80000s
{/usr/share/texmf-dist/fonts/enc/dvips/base/8r.enc}</usr/share/texmf-dist/fon
@ -686,10 +715,10 @@ t/fonts/type1/urw/courier/ucrr8a.pfb></usr/share/texmf-dist/fonts/type1/urw/tim
es/utmb8a.pfb></usr/share/texmf-dist/fonts/type1/urw/times/utmbi8a.pfb></usr/sh
are/texmf-dist/fonts/type1/urw/times/utmr8a.pfb></usr/share/texmf-dist/fonts/ty
pe1/urw/times/utmri8a.pfb>
Output written on Schrick-Noah_AG-CG-SyncFire.pdf (7 pages, 574869 bytes).
Output written on Schrick-Noah_AG-CG-SyncFire.pdf (8 pages, 907822 bytes).
PDF statistics:
253 PDF objects out of 1000 (max. 8388607)
205 compressed objects within 3 object streams
48 named destinations out of 1000 (max. 500000)
177 words of extra memory for PDF output out of 10000 (max. 10000000)
275 PDF objects out of 1000 (max. 8388607)
216 compressed objects within 3 object streams
52 named destinations out of 1000 (max. 500000)
202 words of extra memory for PDF output out of 10000 (max. 10000000)

Binary file not shown.

View File

@ -139,7 +139,7 @@ This new token also required changes to the processing of the ``exploit" keyword
\subsection{PostgreSQL}
As seen in Figure \ref{fig:bison-flex}, Bison and Flex feed into the Model Database. With the addition of a new group identifier and the group keyword, minor alterations were needed to ensure compatibility with the PostgreSQL database.
One adjustment was to alter the exploit table in the SQL schema to include new columns of type ``TEXT". The second adjustment was to update the SQL builder functions. This included updating the related functions such as exploit creations, exploit parsing, database fetching, and SQL string builders to add additional room for the group identifier.
One adjustment was to alter the exploit table in the SQL schema to include new columns of type ``TEXT". The second adjustment was to update the SQL builder functions. This included updating the related functions such as exploit creations, exploit parsing, database fetching, and SQL string builders to add additional room for the group identifier. Additional care was taken to ensure that the normalization form of the database was not altered. Before adding the group identifier to its appropriate table, additional checking was performed to ensure there would be no partial functional dependencies or transitive dependencies.
\subsection{Compound Operators}
Many of the graphs previously generated by RAGE comprise of states with features that can be fully enumerated. In many of these generated graphs, there was an established set of qualities that was used, with an established set of values. These typically have included $``compliance$\_$vio=true/false"$, $``root=true/false"$, or other general $``true/false"$ values or $``version=X"$ qualities.
@ -281,9 +281,15 @@ When comparing the E/S Ratio for the non-synchronous graphs to the E/S Ratio for
\end{table}
\subsubsection{Results for a Grouped Environment}
The environment and resulting graphs presented in Section \ref{sec:theo_results} depict the possible states of the two cars in compliance graph formats. While these graphs demonstrated accurate, exhaustive depictions of the cars and their compliance standings, they may not be realistic representations of the most likely outcomes. If a car was due for two compliance checks at the same time, it is unlikely that the car would be taken for one maintenance, returned to its original destination, then driven immediately back for maintenance, and finally to its original destination once more. The more realistic scenario is that the car is taken for maintenance, both services are performed at the same visit, and then the car is returned to its original destination.
The environment and resulting graphs presented in Section \ref{sec:theo_res} depict the possible states of the two cars in compliance graph formats. While these graphs demonstrated accurate, exhaustive depictions of the cars and their compliance standings, they may not be realistic representations of the most likely outcomes. If a car was due for two compliance checks at the same time, it is unlikely that the car would be taken for one maintenance, returned to its original destination, then driven immediately back for maintenance, and finally to its original destination once more. The more realistic scenario is that the car is taken for maintenance, both services are performed at the same visit, and then the car is returned to its original destination.
Another set of graphs were generated using only the 3 service case. These services were for a driveshaft boot check, an AC filter change, and an oil change. This set of graphs used `comprehensive services", where a car would undergo multiple services simultaneously. These results are seen in Table \ref{table:Sync-Comp-Table} for the synchronous firing enabled generation, and Table \ref{table:Non-Sync-Comp-Table} for the non-synchronous firing generation.
Another set of graphs were generated using only the 3 service case. These services were for a driveshaft boot check, an AC filter change, and an oil change. This set of graphs used `comprehensive services", where a car would undergo multiple services simultaneously. With three services used, there are a total of three permutations: all three services are done individually, two services are performed simultaneously while the other is performed later, and all three services are performed simultaneously.
For this set of examples, all compliance checks have the same time requirements. This work does not introduce any heuristics or methodologies for intentionally performing services early or late. If Service A was required no later than every 6 months, but Service B was required no later than every 8 months, then joining Service A and Service B together would either mean: 1. Service B was completed 2 months earlier than it needed to be, or 2. Service A was completed 2 months later than it needed to be. This was considered out of scope for this approach, but this is noted in the Future Works Section (Section \ref{sec:fw}).
These results are seen in Table \ref{table:Sync-Comp-Table} for the synchronous firing enabled generation, and Table \ref{table:Non-Sync-Comp-Table} for the non-synchronous firing generation. The corresponding figures for the runtime can be seen in Figure \ref{fig:Comp-Sync-RT}, and the corresponding figures for state space can be seen in Figure \ref{fig:Comp-Sync-State}. It is noticeable that there is a state space reduction achieved through synchronous firing in this set of examples, along with a runtime improvement. When all three services were conjoined, synchronous firing provided a 5.09x speedup over non-synchronous firing. Using comprehensive services on their own also provided a reduction in state space and an improvement in runtime. When synchronous firing was enabled and comprehensive services were used, the total number of states could be reduced from 25,317 to 3,774, providing a a 6.7x reduction in state space solely from combining services.
Leveraging comprehensive services with synchronous firing enables users to significantly reduce the size of the resulting attack or compliance graphs. Comprehensive services also enable users to introduce heuristics to analyze and identify optimal service plans for compliance, or attack mitigation strategies for attack graphs. Coupled with synchronous firing, analysis of these optimal plans can be performed quicker due to the inexistence of superfluous, unattainable states.
\begin{table}[htp]
\centering
@ -330,9 +336,32 @@ Another set of graphs were generated using only the 3 service case. These servic
\label{table:Sync-Comp-Table}
\end{table}
\begin{figure}
\centering
\includegraphics[width=\linewidth]{"./images/Comp-Sync-Runtime-Bar.png"}
\includegraphics[width=\linewidth]{"./images/Comp-Sync-Runtime.png"}
\caption[Synchronous Firing on Runtime]{Bar Graph and Line Graph Representations of Synchronous Firing with Comprehensive Services on Runtime}
\label{fig:Comp-Sync-RT}
\end{figure}
\begin{figure}
\centering
\includegraphics[width=\linewidth]{"./images/Comp-Sync-StateSpace-Bar.png"}
\includegraphics[width=\linewidth]{"./images/Comp-Sync-StateSpace.png"}
\caption{Bar Graph and Line Graph Representations of Synchronous Firing with Comprehensive Services on State Space}
\label{fig:Comp-Sync-State}
\end{figure}
\begin{figure}[htp]
\centering
\includegraphics[width=\linewidth]{"./images/Comp-Sync_Speedup.png"}
\vspace{.2truein} \centerline{}
\caption{Speedup (Amdahl's) Obtained When Using Synchronous Firing with Comprehensive Services}
\label{fig:Comp-Sync-Spd}
\end{figure}
\section{Future Works}
\section{Future Works} \label{sec:fw}
As seen and discussed in Section \ref{sec:inseparable}, when unattainable states are generated, there is a compounding effect. Each unattainable state is explored, and is likely to generate additional unattainable states. Future works include examining the effect of synchronous firing when more assets are utilized. It is hypothesized that the synchronous firing approach will lead to an increased runtime reduction and state space reduction due to the increased number of unattainable state permutations. This work had a limited number of assets, but generated upwards of 400,000 states due to repeated applications of the exploit set due to the services corresponding with the compliance graph. Future work could alter the test scenario to have a greater number of assets, and a standard set of exploits more akin to an attack graph. Other future works could include measuring the performance of synchronous firing when multiple groups of inseparable features are used. This work used a single group, but multiple groups be added to examine the performance of the feature.
Another avenue for future works would be to take a network science approach. There may be features of interest from examining the topology of the resulting graphs with and without synchronous firing. Various centrality metrics could be examined, as well as examining transformations such as dominant trees or transitive closures derived from the original graphs. Each approach could compare each graph when using or not using synchronous firing to determine if there are possible points of interest. Taking a network science approach could also examine and analyze the E/S Ratio differences between the graphs when using or not using synchronous firing, and attempt to provide further insight on what those differences mean in terms of usability of the graphs.