This commit is contained in:
JakeGinesin
2024-11-29 14:57:22 -05:00
parent a0570fcf23
commit e129a6bf9c
8 changed files with 3424 additions and 875 deletions

File diff suppressed because it is too large Load Diff

100
main.aux
View File

@@ -1,55 +1,59 @@
\relax
\providecommand\zref@newlabel[2]{}
\providecommand\hyper@newdestlabel[2]{}
\providecommand\HyField@AuxAddToFields[1]{}
\providecommand\HyField@AuxAddToCoFields[2]{}
\citation{Lamport_1994,Holzmann_1997,Clarke_Wang}
\citation{Basin_Cremers_Dreier_Sasse_2022,Blanchet_Smyth_Cheval_Sylvestre,Kobeissi_Nicolas_Tiwari,Blanchet_Jacomme,Basin_Linker_Sasse}
\citation{Hippel2022_anonym}
\@writefile{toc}{\contentsline {section}{\numberline {I}Introduction}{1}{}\protected@file@percent }
\newlabel{sec:introduction}{{I}{1}}
\@writefile{toc}{\contentsline {section}{\numberline {II}\textsc {PANDA}\xspace Architecture}{1}{}\protected@file@percent }
\newlabel{sec:design}{{II}{1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {\mbox {II-A}}Mathematical Preliminaries}{1}{}\protected@file@percent }
\newlabel{sub:Mathematical Preliminaries}{{\mbox {II-A}}{1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {\mbox {II-B}}High-level design}{1}{}\protected@file@percent }
\newlabel{sub:High-level design}{{\mbox {II-B}}{1}}
\@writefile{toc}{\contentsline {subsection}{\numberline {\mbox {II-C}}Supported Attacker Models}{2}{}\protected@file@percent }
\newlabel{sub:Supported Attacker Models}{{\mbox {II-C}}{2}}
\@writefile{toc}{\contentsline {subsection}{\numberline {\mbox {II-D}}\textsc {PANDA}\xspace Implementation}{2}{}\protected@file@percent }
\newlabel{sub:impl}{{\mbox {II-D}}{2}}
\newlabel{lst:spin-model}{{6}{2}}
\@writefile{lol}{\contentsline {lstlisting}{\numberline {6}Example \textsc {Promela}\xspace model of peers communicating over a channel. \texttt {!} indicates sending a message onto a channel, \texttt {?} indicates receiving a message from a channel.}{2}{}\protected@file@percent }
\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces A high-level overview of the \textsc {PANDA}\xspace workflow}}{3}{}\protected@file@percent }
\newlabel{fig:korg_workflow}{{1}{3}}
\newlabel{lst:korg_drop}{{1}{3}}
\@writefile{lol}{\contentsline {lstlisting}{\numberline {1}Example dropping attacker model gadget with drop limit of 3, targetting channel "cn"}{3}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {\mbox {II-E}}Usage}{3}{}\protected@file@percent }
\newlabel{sub:Usage}{{\mbox {II-E}}{3}}
\newlabel{lst:abp}{{8}{3}}
\@writefile{lol}{\contentsline {lstlisting}{\numberline {8}Example (simplified) \textsc {Promela}\xspace model of the alternating bit protocol.}{3}{}\protected@file@percent }
\newlabel{lst:korg_replay}{{2}{4}}
\@writefile{lol}{\contentsline {lstlisting}{\numberline {2}Example replay attacker model gadget with the selected replay limit as 3, targetting channel "cn"}{4}{}\protected@file@percent }
\newlabel{lst:korg-shell}{{\mbox {II-E}}{4}}
\newlabel{lst:korg_reordering}{{3}{4}}
\@writefile{lol}{\contentsline {lstlisting}{\numberline {3}Example reordering attacker model gadget with the selected replay limit as 3, targetting channel "cn"}{4}{}\protected@file@percent }
\providecommand \oddpage@label [2]{}
\@writefile{toc}{\contentsline {section}{\numberline {I}Introduction}{1}{section.1}\protected@file@percent }
\newlabel{sec:introduction}{{I}{1}{Introduction}{section.1}{}}
\@writefile{toc}{\contentsline {section}{\numberline {II}\textsc {PANDA}\xspace Architecture}{1}{section.2}\protected@file@percent }
\newlabel{sec:design}{{II}{1}{\korg Architecture}{section.2}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {\mbox {II-A}}Mathematical Preliminaries}{1}{subsection.2.1}\protected@file@percent }
\newlabel{sub:Mathematical Preliminaries}{{\mbox {II-A}}{1}{Mathematical Preliminaries}{subsection.2.1}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {\mbox {II-B}}High-level design}{1}{subsection.2.2}\protected@file@percent }
\newlabel{sub:High-level design}{{\mbox {II-B}}{1}{High-level design}{subsection.2.2}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {\mbox {II-C}}Supported Attacker Models}{2}{subsection.2.3}\protected@file@percent }
\newlabel{sub:Supported Attacker Models}{{\mbox {II-C}}{2}{Supported Attacker Models}{subsection.2.3}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {\mbox {II-D}}\textsc {PANDA}\xspace Implementation}{2}{subsection.2.4}\protected@file@percent }
\newlabel{sub:impl}{{\mbox {II-D}}{2}{\korg Implementation}{subsection.2.4}{}}
\newlabel{lst:spin-model}{{6}{2}{Example \promela model of peers communicating over a channel. \texttt {!} indicates sending a message onto a channel, \texttt {?} indicates receiving a message from a channel}{lstlisting.6}{}}
\@writefile{lol}{\contentsline {lstlisting}{\numberline {6}{\ignorespaces Example \textsc {Promela}\xspace model of peers communicating over a channel. \texttt {!} indicates sending a message onto a channel, \texttt {?} indicates receiving a message from a channel.}}{2}{lstlisting.6}\protected@file@percent }
\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces A high-level overview of the \textsc {PANDA}\xspace workflow}}{3}{figure.caption.1}\protected@file@percent }
\providecommand*\caption@xref[2]{\@setref\relax\@undefined{#1}}
\newlabel{fig:korg_workflow}{{1}{3}{A high-level overview of the \korg workflow}{figure.caption.1}{}}
\newlabel{lst:korg_drop}{{1}{3}{Example dropping attacker model gadget with drop limit of 3, targetting channel "cn"}{lstlisting.1}{}}
\@writefile{lol}{\contentsline {lstlisting}{\numberline {1}{\ignorespaces Example dropping attacker model gadget with drop limit of 3, targetting channel "cn"}}{3}{lstlisting.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {\mbox {II-E}}Usage}{3}{subsection.2.5}\protected@file@percent }
\newlabel{sub:Usage}{{\mbox {II-E}}{3}{Usage}{subsection.2.5}{}}
\newlabel{lst:abp}{{8}{3}{Example (simplified) \promela model of the alternating bit protocol}{lstlisting.8}{}}
\@writefile{lol}{\contentsline {lstlisting}{\numberline {8}{\ignorespaces Example (simplified) \textsc {Promela}\xspace model of the alternating bit protocol.}}{3}{lstlisting.8}\protected@file@percent }
\newlabel{lst:korg_replay}{{2}{4}{Example replay attacker model gadget with the selected replay limit as 3, targetting channel "cn"}{lstlisting.2}{}}
\@writefile{lol}{\contentsline {lstlisting}{\numberline {2}{\ignorespaces Example replay attacker model gadget with the selected replay limit as 3, targetting channel "cn"}}{4}{lstlisting.2}\protected@file@percent }
\newlabel{lst:korg-shell}{{\mbox {II-E}}{4}{}{lstlisting.-1}{}}
\newlabel{lst:korg_reordering}{{3}{4}{Example reordering attacker model gadget with the selected replay limit as 3, targetting channel "cn"}{lstlisting.3}{}}
\@writefile{lol}{\contentsline {lstlisting}{\numberline {3}{\ignorespaces Example reordering attacker model gadget with the selected replay limit as 3, targetting channel "cn"}}{4}{lstlisting.3}\protected@file@percent }
\citation{Cluzel_Georgiou_Moy_Zeller_2021,Smith_1997,Pacheco2022}
\citation{Pacheco2022}
\citation{Pacheco2022}
\citation{Woos_Wilcox_Anton_Tatlock_Ernst_Anderson_2016,Wilcox_Woos_Panchekha_Tatlock_Wang_Ernst_Anderson,Ongaro}
\citation{Ongaro}
\newlabel{lst:io-file}{{4}{5}{Example I/O file targetting channel "cn"}{lstlisting.4}{}}
\@writefile{lol}{\contentsline {lstlisting}{\numberline {4}{\ignorespaces Example I/O file targetting channel "cn"}}{5}{lstlisting.4}\protected@file@percent }
\newlabel{lst:io-file-synth}{{5}{5}{Example gadget synthesized from an I/O file targetting the channel "cn"}{lstlisting.5}{}}
\@writefile{lol}{\contentsline {lstlisting}{\numberline {5}{\ignorespaces Example gadget synthesized from an I/O file targetting the channel "cn"}}{5}{lstlisting.5}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {III}Case Studies}{5}{section.3}\protected@file@percent }
\newlabel{sec:case_studies}{{III}{5}{Case Studies}{section.3}{}}
\@writefile{toc}{\contentsline {subsection}{\numberline {\mbox {III-A}}TCP}{5}{subsection.3.1}\protected@file@percent }
\newlabel{sub:TCP}{{\mbox {III-A}}{5}{TCP}{subsection.3.1}{}}
\newlabel{lst:drop_passer}{{7}{5}{Example dropping attacker model gadget with message skipping}{lstlisting.7}{}}
\@writefile{lol}{\contentsline {lstlisting}{\numberline {7}{\ignorespaces Example dropping attacker model gadget with message skipping}}{5}{lstlisting.7}\protected@file@percent }
\newlabel{res:tcp-table}{{\caption@xref {res:tcp-table}{ on input line 42}}{5}{TCP}{figure.caption.7}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces Automatically discovered attacks against our TCP model for $\phi _1$ through $\phi _4$. "x" indicates an attack was discovered, and no "x" indicates \textsc {PANDA}\xspace proved the absence of an attack via an exhaustive search. These experiments were ran on a laptop with an eighth generation i7 and 16gb of memory. Full attack traces are available in the artifact.}}{5}{figure.caption.7}\protected@file@percent }
\citation{Ongaro}
\citation{Woos_Wilcox_Anton_Tatlock_Ernst_Anderson_2016}
\newlabel{lst:io-file}{{4}{5}}
\@writefile{lol}{\contentsline {lstlisting}{\numberline {4}Example I/O file targetting channel "cn"}{5}{}\protected@file@percent }
\newlabel{lst:io-file-synth}{{5}{5}}
\@writefile{lol}{\contentsline {lstlisting}{\numberline {5}Example gadget synthesized from an I/O file targetting the channel "cn"}{5}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {III}Case Studies}{5}{}\protected@file@percent }
\newlabel{sec:case_studies}{{III}{5}}
\@writefile{toc}{\contentsline {subsection}{\numberline {\mbox {III-A}}TCP}{5}{}\protected@file@percent }
\newlabel{sub:TCP}{{\mbox {III-A}}{5}}
\newlabel{lst:drop_passer}{{7}{5}}
\@writefile{lol}{\contentsline {lstlisting}{\numberline {7}Example dropping attacker model gadget with message skipping}{5}{}\protected@file@percent }
\newlabel{res:tcp-table}{{\mbox {III-A}}{5}}
\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces Automatically discovered attacks against our TCP model for $\phi _1$ through $\phi _4$. "x" indicates an attack was discovered, and no "x" indicates \textsc {PANDA}\xspace proved the absence of an attack via an exhaustive search. These experiments were ran on a laptop with an eighth generation i7 and 16gb of memory. Full attack traces are available in the artifact.}}{5}{}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {\mbox {III-B}}Raft}{5}{}\protected@file@percent }
\newlabel{sub:Raft}{{\mbox {III-B}}{5}}
\citation{Woos_Wilcox_Anton_Tatlock_Ernst_Anderson_2016}
\bibstyle{IEEEtran}
\bibdata{main}
@@ -66,11 +70,13 @@
\bibcite{Smith_1997}{11}
\bibcite{Pacheco2022}{12}
\bibcite{Woos_Wilcox_Anton_Tatlock_Ernst_Anderson_2016}{13}
\@writefile{toc}{\contentsline {subsection}{\numberline {\mbox {III-B}}Raft}{6}{subsection.3.2}\protected@file@percent }
\newlabel{sub:Raft}{{\mbox {III-B}}{6}{Raft}{subsection.3.2}{}}
\newlabel{res:raft-table}{{\caption@xref {res:raft-table}{ on input line 92}}{6}{Raft}{figure.caption.8}{}}
\@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces Breakdown of the attacker scenarios assessed with \textsc {PANDA}\xspace against our Raft \textsc {Promela}\xspace model. In all experiments, Raft was set to five peers and the drop/replay limits of the gadgets \textsc {PANDA}\xspace synthesized were set to two. We conducted our experiments on a research computing cluster, allocating 250GB of memory to each verification run. The full models and attacker traces are included in the artifact.}}{6}{figure.caption.8}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {IV}Conclusion}{6}{section.4}\protected@file@percent }
\newlabel{sec:conclusion}{{IV}{6}{Conclusion}{section.4}{}}
\@writefile{toc}{\contentsline {section}{References}{6}{section*.9}\protected@file@percent }
\bibcite{Wilcox_Woos_Panchekha_Tatlock_Wang_Ernst_Anderson}{14}
\bibcite{Ongaro}{15}
\newlabel{res:raft-table}{{\mbox {III-B}}{6}}
\@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces Breakdown of the attacker scenarios assessed with \textsc {PANDA}\xspace against our Raft \textsc {Promela}\xspace model. In all experiments, Raft was set to five peers and the drop/replay limits of the gadgets \textsc {PANDA}\xspace synthesized were set to two. We conducted our experiments on a research computing cluster, allocating 250GB of memory to each verification run. The full models and attacker traces are included in the artifact.}}{6}{}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {IV}Conclusion}{6}{}\protected@file@percent }
\newlabel{sec:conclusion}{{IV}{6}}
\@writefile{toc}{\contentsline {section}{References}{6}{}\protected@file@percent }
\gdef \@abspage@last{6}
\gdef \@abspage@last{7}

363
main.fls
View File

@@ -101,6 +101,181 @@ INPUT /usr/share/texmf-dist/tex/latex/tools/array.sty
INPUT /usr/share/texmf-dist/tex/latex/tools/array.sty
INPUT /usr/share/texmf-dist/tex/latex/comment/comment.sty
INPUT /usr/share/texmf-dist/tex/latex/comment/comment.sty
INPUT /usr/share/texmf-dist/tex/latex/graphics/color.sty
INPUT /usr/share/texmf-dist/tex/latex/tools/enumerate.sty
INPUT /usr/share/texmf-dist/tex/latex/tools/enumerate.sty
INPUT /usr/share/texmf-dist/tex/latex/oberdiek/centernot.sty
INPUT /usr/share/texmf-dist/tex/latex/oberdiek/centernot.sty
INPUT /usr/share/texmf-dist/tex/latex/multirow/multirow.sty
INPUT /usr/share/texmf-dist/tex/latex/multirow/multirow.sty
INPUT /usr/share/texmf-dist/tex/latex/float/float.sty
INPUT /usr/share/texmf-dist/tex/latex/float/float.sty
INPUT /usr/share/texmf-dist/tex/latex/caption/caption.sty
INPUT /usr/share/texmf-dist/tex/latex/caption/caption.sty
INPUT /usr/share/texmf-dist/tex/latex/caption/caption3.sty
INPUT /usr/share/texmf-dist/tex/latex/caption/caption3.sty
INPUT /usr/share/texmf-dist/tex/latex/caption/subcaption.sty
INPUT /usr/share/texmf-dist/tex/latex/caption/subcaption.sty
INPUT /usr/share/texmf-dist/tex/latex/pgfplots/pgfplots.sty
INPUT /usr/share/texmf-dist/tex/latex/pgfplots/pgfplots.sty
INPUT /usr/share/texmf-dist/tex/generic/pgfplots/pgfplots.revision.tex
INPUT /usr/share/texmf-dist/tex/generic/pgfplots/pgfplots.revision.tex
INPUT /usr/share/texmf-dist/tex/generic/pgfplots/pgfplots.revision.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-luatex.def
INPUT /usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-luatex.def
INPUT /usr/share/texmf-dist/tex/latex/pgf/frontendlayer/tikz.sty
INPUT /usr/share/texmf-dist/tex/latex/pgf/frontendlayer/tikz.sty
INPUT /usr/share/texmf-dist/tex/latex/pgf/basiclayer/pgf.sty
INPUT /usr/share/texmf-dist/tex/latex/pgf/basiclayer/pgf.sty
INPUT /usr/share/texmf-dist/tex/latex/pgf/utilities/pgfrcs.sty
INPUT /usr/share/texmf-dist/tex/latex/pgf/utilities/pgfrcs.sty
INPUT /usr/share/texmf-dist/tex/generic/pgf/utilities/pgfutil-common.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/utilities/pgfutil-latex.def
INPUT /usr/share/texmf-dist/tex/generic/pgf/utilities/pgfrcs.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/utilities/pgfrcs.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/utilities/pgfrcs.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/pgf.revision.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/pgf.revision.tex
INPUT /usr/share/texmf-dist/tex/latex/pgf/basiclayer/pgfcore.sty
INPUT /usr/share/texmf-dist/tex/latex/pgf/basiclayer/pgfcore.sty
INPUT /usr/share/texmf-dist/tex/latex/pgf/systemlayer/pgfsys.sty
INPUT /usr/share/texmf-dist/tex/latex/pgf/systemlayer/pgfsys.sty
INPUT /usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsys.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsys.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsys.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/utilities/pgfkeyslibraryfiltered.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgf.cfg
INPUT /usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-pdftex.def
INPUT /usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-pdftex.def
INPUT /usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-pdf.def
INPUT /usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsyssoftpath.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsyssoftpath.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsyssoftpath.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsysprotocol.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsysprotocol.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsysprotocol.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcore.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcore.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcore.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/math/pgfmathutil.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/math/pgfmathparser.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.basic.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.trigonometric.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.random.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.comparison.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.base.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.round.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.misc.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.integerarithmetics.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/math/pgfmathcalc.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfloat.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/math/pgfint.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepoints.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathconstruct.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathusage.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorescopes.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcoregraphicstate.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransformations.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorequick.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreobjects.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathprocessing.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorearrows.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreshade.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreimage.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreexternal.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorelayers.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransparency.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepatterns.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorerdf.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/modules/pgfmoduleshapes.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/modules/pgfmoduleplot.code.tex
INPUT /usr/share/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-0-65.sty
INPUT /usr/share/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-0-65.sty
INPUT /usr/share/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-1-18.sty
INPUT /usr/share/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-1-18.sty
INPUT /usr/share/texmf-dist/tex/latex/pgf/utilities/pgffor.sty
INPUT /usr/share/texmf-dist/tex/latex/pgf/utilities/pgffor.sty
INPUT /usr/share/texmf-dist/tex/latex/pgf/utilities/pgfkeys.sty
INPUT /usr/share/texmf-dist/tex/latex/pgf/utilities/pgfkeys.sty
INPUT /usr/share/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex
INPUT /usr/share/texmf-dist/tex/latex/pgf/math/pgfmath.sty
INPUT /usr/share/texmf-dist/tex/latex/pgf/math/pgfmath.sty
INPUT /usr/share/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/utilities/pgffor.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/utilities/pgffor.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/utilities/pgffor.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/libraries/pgflibraryplothandlers.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/libraries/pgflibraryplothandlers.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/modules/pgfmodulematrix.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarytopaths.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarytopaths.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgfplots/pgfplots.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgfplots/pgfplotscore.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgfplots/sys/pgfplotssysgeneric.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgfplots/libs/pgfplotslibrary.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_loader.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/libraries/pgflibraryfpu.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/libraries/pgflibraryfpu.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/libraries/pgflibraryfpu.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgfplots/oldpgfcompatib/pgfplotsoldpgfsupp_pgfutil-common-lists.tex
INPUT /usr/share/texmf-dist/tex/generic/pgfplots/util/pgfplotsutil.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsliststructure.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsliststructureext.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsarray.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsmatrix.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgfplots/numtable/pgfplotstableshared.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgfplots/liststructure/pgfplotsdeque.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgfplots/util/pgfplotsbinary.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgfplots/util/pgfplotsbinary.data.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgfplots/util/pgfplotsutil.verb.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgfplots/libs/pgflibrarypgfplots.surfshading.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgfplots/sys/pgflibrarypgfplots.surfshading.pgfsys-pdftex.def
INPUT /usr/share/texmf-dist/tex/generic/pgfplots/sys/pgflibrarypgfplots.surfshading.pgfsys-pdftex.def
INPUT /usr/share/texmf-dist/tex/generic/pgfplots/util/pgfplotscolormap.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgfplots/util/pgfplotscolor.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgfplots/pgfplotsstackedplots.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgfplots/pgfplotsplothandlers.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgfplots/pgfplotsmeshplothandler.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgfplots/pgfplotsmeshplotimage.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgfplots/pgfplots.scaling.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgfplots/pgfplotscoordprocessing.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgfplots/pgfplots.errorbars.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgfplots/pgfplots.markers.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgfplots/pgfplotsticks.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgfplots/pgfplots.paths.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/modules/pgfmoduledecorations.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.pathmorphing.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.pathmorphing.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/libraries/decorations/pgflibrarydecorations.pathmorphing.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/libraries/decorations/pgflibrarydecorations.pathmorphing.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.pathreplacing.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarydecorations.pathreplacing.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/libraries/decorations/pgflibrarydecorations.pathreplacing.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/libraries/decorations/pgflibrarydecorations.pathreplacing.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgfplots/libs/tikzlibrarypgfplots.contourlua.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgfplots/libs/tikzlibrarypgfplots.contourlua.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryplotmarks.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryplotmarks.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/libraries/pgflibraryplotmarks.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/libraries/pgflibraryplotmarks.code.tex
INPUT /usr/share/texmf-dist/tex/latex/pgf-pie/pgf-pie.sty
INPUT /usr/share/texmf-dist/tex/latex/pgf-pie/pgf-pie.sty
INPUT /usr/share/texmf-dist/tex/latex/pgf-pie/tikzlibrarypie.code.tex
INPUT /usr/share/texmf-dist/tex/latex/pgf-pie/tikzlibrarypie.code.tex
INPUT /usr/share/texmf-dist/tex/latex/carlisle/scalefnt.sty
INPUT /usr/share/texmf-dist/tex/latex/carlisle/scalefnt.sty
INPUT /usr/share/texmf-dist/tex/latex/listings/listings.sty
INPUT /usr/share/texmf-dist/tex/latex/listings/listings.sty
INPUT /usr/share/texmf-dist/tex/latex/listings/lstpatch.sty
@@ -112,20 +287,155 @@ INPUT /usr/share/texmf-dist/tex/latex/listings/lstmisc.sty
INPUT /usr/share/texmf-dist/tex/latex/listings/listings.cfg
INPUT /usr/share/texmf-dist/tex/latex/listings/listings.cfg
INPUT /usr/share/texmf-dist/tex/latex/listings/listings.cfg
INPUT /usr/share/texmf-dist/tex/latex/listings/lstlang1.sty
INPUT /usr/share/texmf-dist/tex/latex/listings/lstlang1.sty
INPUT /usr/share/texmf-dist/tex/latex/listings/lstlang1.sty
INPUT /usr/share/texmf-dist/tex/latex/listings/lstlang2.sty
INPUT /usr/share/texmf-dist/tex/latex/listings/lstlang2.sty
INPUT /usr/share/texmf-dist/tex/latex/listings/lstlang2.sty
INPUT /usr/share/texmf-dist/tex/latex/listings/lstlang3.sty
INPUT /usr/share/texmf-dist/tex/latex/listings/lstlang3.sty
INPUT /usr/share/texmf-dist/tex/latex/listings/lstlang3.sty
INPUT /usr/share/texmf-dist/tex/latex/listings/lstmisc.sty
INPUT /usr/share/texmf-dist/tex/latex/listings/lstmisc.sty
INPUT /usr/share/texmf-dist/tex/latex/listings/lstmisc.sty
INPUT /usr/share/texmf-dist/tex/latex/adjustbox/adjustbox.sty
INPUT /usr/share/texmf-dist/tex/latex/adjustbox/adjustbox.sty
INPUT /usr/share/texmf-dist/tex/latex/xkeyval/xkeyval.sty
INPUT /usr/share/texmf-dist/tex/latex/xkeyval/xkeyval.sty
INPUT /usr/share/texmf-dist/tex/generic/xkeyval/xkeyval.tex
INPUT /usr/share/texmf-dist/tex/generic/xkeyval/xkvutils.tex
INPUT /usr/share/texmf-dist/tex/latex/adjustbox/adjcalc.sty
INPUT /usr/share/texmf-dist/tex/latex/adjustbox/adjcalc.sty
INPUT /usr/share/texmf-dist/tex/latex/adjustbox/trimclip.sty
INPUT /usr/share/texmf-dist/tex/latex/adjustbox/trimclip.sty
INPUT /usr/share/texmf-dist/tex/latex/collectbox/collectbox.sty
INPUT /usr/share/texmf-dist/tex/latex/collectbox/collectbox.sty
INPUT /usr/share/texmf-dist/tex/latex/adjustbox/tc-pdftex.def
INPUT /usr/share/texmf-dist/tex/latex/adjustbox/tc-pdftex.def
INPUT /usr/share/texmf-dist/tex/latex/adjustbox/tc-pdftex.def
INPUT /usr/share/texmf-dist/tex/latex/ifoddpage/ifoddpage.sty
INPUT /usr/share/texmf-dist/tex/latex/ifoddpage/ifoddpage.sty
INPUT /usr/share/texmf-dist/tex/latex/ifoddpage/ifoddpage.sty
INPUT /usr/share/texmf-dist/tex/latex/varwidth/varwidth.sty
INPUT /usr/share/texmf-dist/tex/latex/varwidth/varwidth.sty
INPUT /usr/share/texmf-dist/tex/latex/varwidth/varwidth.sty
INPUT /usr/share/texmf-dist/tex/latex/mdframed/mdframed.sty
INPUT /usr/share/texmf-dist/tex/latex/mdframed/mdframed.sty
INPUT /usr/share/texmf-dist/tex/latex/kvoptions/kvoptions.sty
INPUT /usr/share/texmf-dist/tex/latex/kvoptions/kvoptions.sty
INPUT /usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty
INPUT /usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty
INPUT /usr/share/texmf-dist/tex/latex/kvsetkeys/kvsetkeys.sty
INPUT /usr/share/texmf-dist/tex/latex/kvsetkeys/kvsetkeys.sty
INPUT /usr/share/texmf-dist/tex/latex/l3packages/xparse/xparse.sty
INPUT /usr/share/texmf-dist/tex/latex/l3packages/xparse/xparse.sty
INPUT /usr/share/texmf-dist/tex/latex/l3kernel/expl3.sty
INPUT /usr/share/texmf-dist/tex/latex/l3kernel/expl3.sty
INPUT /usr/share/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
INPUT /usr/share/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
INPUT /usr/share/texmf-dist/tex/latex/etoolbox/etoolbox.sty
INPUT /usr/share/texmf-dist/tex/latex/etoolbox/etoolbox.sty
INPUT /usr/share/texmf-dist/tex/latex/zref/zref-abspage.sty
INPUT /usr/share/texmf-dist/tex/latex/zref/zref-abspage.sty
INPUT /usr/share/texmf-dist/tex/latex/zref/zref-base.sty
INPUT /usr/share/texmf-dist/tex/latex/zref/zref-base.sty
INPUT /usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty
INPUT /usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty
INPUT /usr/share/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty
INPUT /usr/share/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty
INPUT /usr/share/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty
INPUT /usr/share/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty
INPUT /usr/share/texmf-dist/tex/generic/iftex/iftex.sty
INPUT /usr/share/texmf-dist/tex/generic/iftex/iftex.sty
INPUT /usr/share/texmf-dist/tex/generic/etexcmds/etexcmds.sty
INPUT /usr/share/texmf-dist/tex/generic/etexcmds/etexcmds.sty
INPUT /usr/share/texmf-dist/tex/latex/auxhook/auxhook.sty
INPUT /usr/share/texmf-dist/tex/latex/auxhook/auxhook.sty
INPUT /usr/share/texmf-dist/tex/latex/needspace/needspace.sty
INPUT /usr/share/texmf-dist/tex/latex/needspace/needspace.sty
INPUT /usr/share/texmf-dist/tex/latex/mdframed/md-frame-0.mdf
INPUT /usr/share/texmf-dist/tex/latex/mdframed/md-frame-0.mdf
INPUT /usr/share/texmf-dist/tex/latex/mdframed/md-frame-0.mdf
INPUT /usr/share/texmf-dist/tex/latex/changepage/changepage.sty
INPUT /usr/share/texmf-dist/tex/latex/changepage/changepage.sty
INPUT /usr/share/texmf-dist/tex/latex/algorithms/algorithm.sty
INPUT /usr/share/texmf-dist/tex/latex/algorithms/algorithm.sty
INPUT /usr/share/texmf-dist/tex/latex/hyperref/hyperref.sty
INPUT /usr/share/texmf-dist/tex/latex/hyperref/hyperref.sty
INPUT /usr/share/texmf-dist/tex/generic/pdfescape/pdfescape.sty
INPUT /usr/share/texmf-dist/tex/generic/pdfescape/pdfescape.sty
INPUT /usr/share/texmf-dist/tex/latex/hycolor/hycolor.sty
INPUT /usr/share/texmf-dist/tex/latex/hycolor/hycolor.sty
INPUT /usr/share/texmf-dist/tex/latex/hyperref/nameref.sty
INPUT /usr/share/texmf-dist/tex/latex/hyperref/nameref.sty
INPUT /usr/share/texmf-dist/tex/latex/refcount/refcount.sty
INPUT /usr/share/texmf-dist/tex/latex/refcount/refcount.sty
INPUT /usr/share/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty
INPUT /usr/share/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty
INPUT /usr/share/texmf-dist/tex/latex/hyperref/pd1enc.def
INPUT /usr/share/texmf-dist/tex/latex/hyperref/pd1enc.def
INPUT /usr/share/texmf-dist/tex/latex/hyperref/pd1enc.def
INPUT /usr/share/texmf-dist/tex/generic/intcalc/intcalc.sty
INPUT /usr/share/texmf-dist/tex/generic/intcalc/intcalc.sty
INPUT /usr/share/texmf-dist/tex/latex/hyperref/puenc.def
INPUT /usr/share/texmf-dist/tex/latex/hyperref/puenc.def
INPUT /usr/share/texmf-dist/tex/latex/hyperref/puenc.def
INPUT /usr/share/texmf-dist/tex/latex/url/url.sty
INPUT /usr/share/texmf-dist/tex/latex/url/url.sty
INPUT /usr/share/texmf-dist/tex/generic/bitset/bitset.sty
INPUT /usr/share/texmf-dist/tex/generic/bitset/bitset.sty
INPUT /usr/share/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty
INPUT /usr/share/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty
INPUT /usr/share/texmf-dist/tex/generic/atbegshi/atbegshi.sty
INPUT /usr/share/texmf-dist/tex/latex/base/atbegshi-ltx.sty
INPUT /usr/share/texmf-dist/tex/latex/base/atbegshi-ltx.sty
INPUT /usr/share/texmf-dist/tex/latex/hyperref/hpdftex.def
INPUT /usr/share/texmf-dist/tex/latex/hyperref/hpdftex.def
INPUT /usr/share/texmf-dist/tex/latex/hyperref/hpdftex.def
INPUT /usr/share/texmf-dist/tex/latex/atveryend/atveryend.sty
INPUT /usr/share/texmf-dist/tex/latex/base/atveryend-ltx.sty
INPUT /usr/share/texmf-dist/tex/latex/base/atveryend-ltx.sty
INPUT /usr/share/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty
INPUT /usr/share/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty
INPUT /usr/share/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty
INPUT /usr/share/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty
INPUT /usr/share/texmf-dist/tex/latex/filecontents/filecontents.sty
INPUT /usr/share/texmf-dist/tex/latex/filecontents/filecontents.sty
INPUT /usr/share/texmf-dist/tex/latex/xurl/xurl.sty
INPUT /usr/share/texmf-dist/tex/latex/xurl/xurl.sty
INPUT /usr/share/texmf-dist/tex/latex/cryptocode/cryptocode.sty
INPUT /usr/share/texmf-dist/tex/latex/cryptocode/cryptocode.sty
INPUT /usr/share/texmf-dist/tex/latex/mathtools/mathtools.sty
INPUT /usr/share/texmf-dist/tex/latex/mathtools/mathtools.sty
INPUT /usr/share/texmf-dist/tex/latex/tools/calc.sty
INPUT /usr/share/texmf-dist/tex/latex/tools/calc.sty
INPUT /usr/share/texmf-dist/tex/latex/mathtools/mhsetup.sty
INPUT /usr/share/texmf-dist/tex/latex/mathtools/mhsetup.sty
INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarypositioning.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarypositioning.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarycalc.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarycalc.code.tex
INPUT /usr/share/texmf-dist/tex/latex/xargs/xargs.sty
INPUT /usr/share/texmf-dist/tex/latex/xargs/xargs.sty
INPUT /usr/share/texmf-dist/tex/latex/forloop/forloop.sty
INPUT /usr/share/texmf-dist/tex/latex/forloop/forloop.sty
INPUT /usr/share/texmf-dist/tex/latex/pbox/pbox.sty
INPUT /usr/share/texmf-dist/tex/latex/pbox/pbox.sty
INPUT /usr/share/texmf-dist/tex/latex/bigfoot/suffix.sty
INPUT /usr/share/texmf-dist/tex/latex/bigfoot/suffix.sty
INPUT /usr/share/texmf-dist/tex/latex/environ/environ.sty
INPUT /usr/share/texmf-dist/tex/latex/environ/environ.sty
INPUT /usr/share/texmf-dist/tex/latex/trimspaces/trimspaces.sty
INPUT /usr/share/texmf-dist/tex/latex/trimspaces/trimspaces.sty
INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.geometric.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.geometric.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/libraries/shapes/pgflibraryshapes.geometric.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/libraries/shapes/pgflibraryshapes.geometric.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryarrows.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryarrows.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/libraries/pgflibraryarrows.code.tex
INPUT /usr/share/texmf-dist/tex/generic/pgf/libraries/pgflibraryarrows.code.tex
INPUT /usr/share/texmf-dist/tex/latex/listings/lstlang1.sty
INPUT /usr/share/texmf-dist/tex/latex/listings/lstlang1.sty
INPUT /usr/share/texmf-dist/tex/latex/listings/lstlang1.sty
INPUT /usr/share/texmf-dist/tex/latex/listings/lstlang2.sty
INPUT /usr/share/texmf-dist/tex/latex/listings/lstlang2.sty
INPUT /usr/share/texmf-dist/tex/latex/listings/lstlang2.sty
INPUT /usr/share/texmf-dist/tex/latex/listings/lstlang3.sty
INPUT /usr/share/texmf-dist/tex/latex/listings/lstlang3.sty
INPUT /usr/share/texmf-dist/tex/latex/listings/lstlang3.sty
INPUT /usr/share/texmf-dist/tex/latex/listings/lstmisc.sty
INPUT /usr/share/texmf-dist/tex/latex/listings/lstmisc.sty
INPUT /usr/share/texmf-dist/tex/latex/listings/lstmisc.sty
INPUT ./main.aux
INPUT ./main.aux
INPUT ./main.aux
@@ -138,6 +448,14 @@ INPUT /usr/share/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty
INPUT /usr/share/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg
INPUT /usr/share/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg
INPUT /usr/share/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg
INPUT ./main.out
INPUT ./main.out
INPUT ./main.out
INPUT ./main.out
OUTPUT ./main.pdf
INPUT ./main.out
INPUT ./main.out
OUTPUT ./main.out
INPUT /usr/share/texmf-dist/fonts/tfm/adobe/times/ptmrc7t.tfm
INPUT ./sections/abstract.tex
INPUT ./sections/abstract.tex
@@ -184,7 +502,6 @@ INPUT ./sections/design.tex
INPUT ./sections/design.tex
INPUT ./sections/design.tex
INPUT ./sections/design.tex
OUTPUT ./main.pdf
INPUT /usr/share/texmf-dist/fonts/vf/adobe/times/ptmrc7t.vf
INPUT /usr/share/texmf-dist/fonts/tfm/adobe/times/ptmr8r.tfm
INPUT /usr/share/texmf-dist/fonts/tfm/adobe/times/ptmr8r.tfm
@@ -225,25 +542,25 @@ INPUT /usr/share/texmf-dist/tex/latex/psnfss/ot1pcr.fd
INPUT /usr/share/texmf-dist/tex/latex/psnfss/ot1pcr.fd
INPUT /usr/share/texmf-dist/fonts/tfm/adobe/courier/pcrr7t.tfm
INPUT /usr/share/texmf-dist/fonts/tfm/adobe/courier/pcrr7t.tfm
INPUT /usr/share/texmf-dist/fonts/tfm/adobe/times/ptmbc7t.tfm
INPUT /usr/share/texmf-dist/fonts/vf/adobe/times/ptmb7t.vf
INPUT /usr/share/texmf-dist/fonts/tfm/adobe/times/ptmb8r.tfm
INPUT /usr/share/texmf-dist/fonts/vf/adobe/courier/pcrr7t.vf
INPUT /usr/share/texmf-dist/fonts/tfm/adobe/courier/pcrr8r.tfm
INPUT /usr/share/texmf-dist/fonts/tfm/adobe/courier/pcrr7t.tfm
INPUT /usr/share/texmf-dist/fonts/vf/adobe/courier/pcrr7t.vf
INPUT /usr/share/texmf-dist/fonts/tfm/adobe/courier/pcrr8r.tfm
INPUT /usr/share/texmf-dist/fonts/vf/adobe/times/ptmbc7t.vf
INPUT /usr/share/texmf-dist/fonts/tfm/adobe/times/ptmb8r.tfm
INPUT /usr/share/texmf-dist/tex/latex/psnfss/ts1pcr.fd
INPUT /usr/share/texmf-dist/tex/latex/psnfss/ts1pcr.fd
INPUT /usr/share/texmf-dist/tex/latex/psnfss/ts1pcr.fd
INPUT /usr/share/texmf-dist/fonts/tfm/adobe/courier/pcrr8c.tfm
INPUT ./sections/case_studies.tex
INPUT ./sections/case_studies.tex
INPUT ./sections/case_studies.tex
INPUT ./sections/case_studies.tex
INPUT ./sections/case_studies.tex
INPUT /usr/share/texmf-dist/fonts/vf/adobe/courier/pcrr7t.vf
INPUT /usr/share/texmf-dist/fonts/tfm/adobe/courier/pcrr8r.tfm
INPUT /usr/share/texmf-dist/fonts/vf/adobe/courier/pcrr8c.vf
INPUT ./sections/case_studies.tex
INPUT ./sections/case_studies.tex
INPUT ./sections/case_studies.tex
INPUT ./sections/case_studies.tex
INPUT ./sections/case_studies.tex
INPUT /usr/share/texmf-dist/fonts/tfm/adobe/courier/pcrr7t.tfm
INPUT /usr/share/texmf-dist/fonts/tfm/adobe/courier/pcrr7t.tfm
INPUT ./sections/conclusion.tex
@@ -257,12 +574,12 @@ INPUT ./main.bbl
INPUT /usr/share/texmf-dist/fonts/vf/adobe/times/ptmri7t.vf
INPUT /usr/share/texmf-dist/fonts/tfm/adobe/times/ptmri8r.tfm
INPUT ./main.aux
INPUT ./main.out
INPUT ./main.out
INPUT /usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi10.pfb
INPUT /usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi7.pfb
INPUT /usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi8.pfb
INPUT /usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb
INPUT /usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmr5.pfb
INPUT /usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmr6.pfb
INPUT /usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmr7.pfb
INPUT /usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy10.pfb
INPUT /usr/share/texmf-dist/fonts/type1/urw/courier/ucrr8a.pfb

1350
main.log

File diff suppressed because it is too large Load Diff

BIN
main.pdf

Binary file not shown.

Binary file not shown.

View File

@@ -11,6 +11,18 @@
\usepackage{xspace}
\usepackage{array}
\usepackage{comment}
\usepackage{xcolor,color,xspace,enumerate,centernot,multirow,float,graphicx,
xcolor,caption,subcaption,textcomp,pgfplots,pgf-pie,tikz,listings,
comment,adjustbox,mdframed,changepage,algorithm,algorithmic}
\usepackage{hyperref}
\usepackage{filecontents}
% \PassOptionsToPackage{hyphens}{url}\usepackage[hidelinks]{hyperref}
\usepackage{xurl}
\usepackage{cryptocode} % crypto
\usetikzlibrary{positioning, shapes.geometric, arrows}
\usepackage{xurl}
%\usepackage{csvsimple}
\newtheorem{definition}{Definition}
@@ -93,7 +105,6 @@ Protocols, Attack Synthesis, Denial of Service, Model Checking
\label{sec:case_studies}
\input{sections/case_studies}
\section{Conclusion}
\label{sec:conclusion}
\input{sections/conclusion}

View File

@@ -3,4 +3,4 @@
Distributed protocols are the foundation for the modern internet, and therefore ensuring their correctness and security is paramount. To this end, formal methods, the use of mathematically rigorous techniques for reasoning about software, has been increasingly employed to analyze and study distributed protocols. Historically, formal methods has been employed for reasoning about concurrency and distributed algorithms \cite{Lamport_1994, Holzmann_1997, Clarke_Wang}, and in recent years formal methods have been employed at scale to reason about the security of cryptographic protocols and primitives \cite{Basin_Cremers_Dreier_Sasse_2022, Blanchet_Smyth_Cheval_Sylvestre, Kobeissi_Nicolas_Tiwari, Blanchet_Jacomme, Basin_Linker_Sasse}.
This myriad of formal methods tooling applicable to secure protocols has enabled reasoning about security-relevant properties involving secrecy, authentication, indistinguishability in addition to concurrency, safety, and liveness. However, no previous formal methods tooling offered an effective solution for rigorously studying an attacker that controls communication channels. That is, how do you reason about an attacker that can arbitrarily drop, reorder, replay, or insert messages onto a communication channel?
To fill this gap, we introduce \korg \footnote{\korg is a fictitious name for our system, for double-blind submission.}, a tool for synthesizing attacks on distributed protocols that implements and extends the theoretical framework proposed in \cite{Hippel2022_anonym}. In particular, \korg targets the communication channels between the protocol endpoints, and synthesizes attacks to violate arbitrary linear temporal logic (LTL) specifications. \korg either synthesizes attack, or proves the absence of such via an exhaustive state-space search. \korg is sound and complete, meaning if there exists an attack \korg will find it, and \korg will never have false positives. \korg supports pre-defined attacker models, including attackers that can replay, reorder, or drop messages on channels, as well as custom user-defined attacker models. Although \korg best lends itself for reasoning about denial of service attacks, it can target any specification expressable in LTL. We present several case studies illustrating the usefulness of \korg. We release our code as our models as open source at \cnr{here add the anonymous link}.
To fill this gap, we introduce \korg \footnote{\korg is a fictitious name for our system, for double-blind submission.}, a tool for synthesizing attacks on distributed protocols that implements and extends the theoretical framework proposed in \cite{Hippel2022_anonym}. In particular, \korg targets the communication channels between the protocol endpoints, and synthesizes attacks to violate arbitrary linear temporal logic (LTL) specifications. \korg either synthesizes attack, or proves the absence of such via an exhaustive state-space search. \korg is sound and complete, meaning if there exists an attack \korg will find it, and \korg will never have false positives. \korg supports pre-defined attacker models, including attackers that can replay, reorder, or drop messages on channels, as well as custom user-defined attacker models. Although \korg best lends itself for reasoning about denial of service attacks, it can target any specification expressable in LTL. We present several case studies illustrating the usefulness of \korg. We release our code as our models as open source at \url{https://anonymous.4open.science/r/attacksynth-artifact-1B5D}.