From 62d6e309bbe4968d1ed1e9cd50b15f8352436a9d Mon Sep 17 00:00:00 2001 From: JakeGinesin Date: Mon, 25 Nov 2024 07:15:00 -0500 Subject: [PATCH] more --- .latexrun.db | 1137 +++++++++++++++++----------------- main.aux | 116 ++-- main.bbl | 42 +- main.blg | 58 +- main.fls | 114 ++-- main.log | 169 +++-- main.pdf | Bin 274184 -> 277407 bytes main.tex | 3 +- sections/attacker_models.tex | 29 +- sections/case_studies.tex | 58 +- sections/conclusion.tex | 2 +- sections/design.tex | 90 ++- 12 files changed, 961 insertions(+), 857 deletions(-) diff --git a/.latexrun.db b/.latexrun.db index f267287..f15142b 100644 --- a/.latexrun.db +++ b/.latexrun.db @@ -62,30 +62,9 @@ [ "file", [ - "/usr/share/texmf-dist/fonts/tfm/public/cm/cmsy6.tfm" + "/usr/share/texmf-dist/fonts/type1/urw/times/utmb8a.pfb" ], - "137eb9f38f661c66309614066a7b5d63d8969d33aba0c9efee9f844a4ce65b50" - ], - [ - "file", - [ - "/usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmr7.pfb" - ], - "b37e8671820b0753c6e233eaa3230c6ab9cff04e6c4baee312d60ae261e5aba1" - ], - [ - "file", - [ - "/usr/share/texmf-dist/fonts/map/fontname/texfonts.map" - ], - "d9693993efdc7d0b9ab3df777589995d43e24eeae95f12b6a230a19caadeaa42" - ], - [ - "file", - [ - "/usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm5.tfm" - ], - "9e0909a297a3097e50960158d324006ddd5302db665400fa1fdf966df14e1a17" + "7f3f19f61452892a29d06af2836331ca78aed29390914d294f7a440d35927142" ], [ "file", @@ -94,41 +73,6 @@ ], "a615b1aec84d04818ce5a26bcb854f0b5620812374d113e7263cc62b727eb4de" ], - [ - "file", - [ - "sections/case_studies.tex" - ], - "61bee6e3e11363abee39bcc4304e5337e6932c43b9aab016b962c54f53f7f98e" - ], - [ - "file", - [ - "/usr/share/texmf-dist/tex/latex/psnfss/ts1pcr.fd" - ], - "c5616c536e51dd8a0e9e826f713519cb85e3fc4c6bd4165183cffe970c10ab46" - ], - [ - "file", - [ - "/usr/share/texmf-dist/tex/latex/amsmath/amsbsy.sty" - ], - "f69355f4b0a8b650296fe2fd9471783a6940e6525efd5d7d306b5477daef494d" - ], - [ - "file", - [ - "/usr/share/texmf-dist/fonts/tfm/adobe/times/ptmri8r.tfm" - ], - "5a8d22bbac97332450c06d766ea8f4cac97ebe0c941da9d473a5d422b8bb0667" - ], - [ - "file", - [ - "/usr/share/texmf-dist/fonts/vf/adobe/courier/pcrr8c.vf" - ], - "3cfbd9498aea0ebb257fe0abb6c6b763680101745366fd1fb5b2ef9d8fa7b729" - ], [ "file", [ @@ -136,370 +80,6 @@ ], "a3529ccdadc8248b4c5d7c34ceea53bdc1509b54f18a192ad51b924bd297d8df" ], - [ - "file", - [ - "/usr/share/texmf-dist/tex/latex/graphics-cfg/graphics.cfg" - ], - "feb91e48789a21e4acced98e952c77a2e2cf4a77e01bf147b59fa56a1b3f2008" - ], - [ - "file", - [ - "/usr/share/texmf-dist/tex/latex/psnfss/ot1ptm.fd" - ], - "9c5beb0652c0f26a78269825fea061968682671d11e2a16513d1a602bf248400" - ], - [ - "file", - [ - "/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map" - ], - "f079d814ec1276acba15801beb39911eb18d0b6d556ae7cf884be6fd3d83f2cf" - ], - [ - "file", - [ - "/usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi10.pfb" - ], - "e3661061e8aa474d6de5ffa916edceb0e3d8b998862018c147f0357fce00bcd7" - ], - [ - "file", - [ - "/usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm7.tfm" - ], - "361b5530a4b410c6274e9330c11e993843c62e394323aeaa6e0aee61e8042444" - ], - [ - "file", - [ - "/usr/share/texmf-dist/tex/latex/amsfonts/umsa.fd" - ], - "48355e960333be747dd7b4500e76fde7c3ef0b1fa9c74ec0f1438af0d3a661a4" - ], - [ - "file", - [ - "/usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi5.pfb" - ], - "35048e58e53f4aa53025069c1d0de33a16d8d4c111bfa329669e6456ec0a967b" - ], - [ - "file", - [ - "/usr/share/texmf-dist/tex/latex/xcolor/xcolor.sty" - ], - "6d66da8f16088689c2f4995b4e920703cc94faade57911ed7aabd32b04367824" - ], - [ - "file", - [ - "/usr/share/texmf-dist/fonts/tfm/public/cm/cmmi8.tfm" - ], - "65af8c1e162a952cab8e93c834fcf43ce09b508e6c16e512ebb673cd850b0d41" - ], - [ - "file", - [ - "/usr/share/texmf-dist/tex/context/base/mkii/supp-pdf.mkii" - ], - "5dd3675b88c7b61d3703e6bf35ed75623acc6b163dff7b1477b485cee8ad71cb" - ], - [ - "file", - [ - "/usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmex10.pfb" - ], - "791b31aa1db8608d0144b3a40fc0fe53383a60f6b00d0e8fd9f06ac4a11df8cb" - ], - [ - "file", - [ - "/usr/share/texmf-dist/fonts/tfm/adobe/times/ptmbi7t.tfm" - ], - "f9649f1a4d564693fd52835b7bd9def8a0d0a8ad8abd1ed3c7f8246949e15e26" - ], - [ - "file", - [ - "/usr/share/texmf-dist/tex/latex/algorithms/algorithmic.sty" - ], - "7fe47ed7f8222c56452bd73bf0682e72023ece06d59207653a02e080a341118d" - ], - [ - "file", - [ - "/usr/share/texmf-dist/fonts/tfm/adobe/times/ptmb8r.tfm" - ], - "a48198d87f9b9f90d652b8f41d41dbb3978a44669225c89394a4620031ace6a2" - ], - [ - "file", - [ - "/usr/share/texmf-dist/fonts/tfm/public/amsfonts/cmextra/cmex7.tfm" - ], - "373172fe340e4aede5129b89d65f576bfb1fe6932bd55c38f60bcaa84f3d1188" - ], - [ - "file", - [ - "/usr/share/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def" - ], - "8c808d286cf896399244d121dd0e847a9205c73facc003fe64ec156ec85fd3e5" - ], - [ - "file", - [ - "/usr/share/texmf-dist/fonts/type1/urw/times/utmri8a.pfb" - ], - "f9a0c528b42d2ded2884e31cf1d225b81739ca9b17a0e7cb362fad404ce0aedf" - ], - [ - "file", - [ - "/usr/share/texmf-dist/tex/latex/graphics/trig.sty" - ], - "c2a4f1d01abaf7ad739f1af03238ebb6ab35a7bbfbd5d713acceddda4fb043d5" - ], - [ - "file", - [ - "/usr/share/texmf-dist/fonts/vf/adobe/times/ptmbc7t.vf" - ], - "37a743df9f8e5a736e4d51b17574c1d0b0db36af1ad798ff4a5e0fead9fd653e" - ], - [ - "file", - [ - "/usr/share/texmf-dist/fonts/vf/adobe/times/ptmrc7t.vf" - ], - "0011bdb7dbf11831fa73c87e70751c267754f1ebbe50a9cedf409ea0c22db41a" - ], - [ - "file", - [ - "/usr/share/texmf-dist/tex/latex/amsfonts/umsb.fd" - ], - "e20f21f6ed631cbe3a627d5da5fef82367732a7d51207f8df5ee7e9c77ee342e" - ], - [ - "file", - [ - "/usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam5.tfm" - ], - "c800d1dfd533040219fcc06d52e0e00c2a20fb9b0039fe9f58ccec53fd003a9f" - ], - [ - "file", - [ - "/usr/share/texmf-dist/fonts/type1/urw/times/utmb8a.pfb" - ], - "7f3f19f61452892a29d06af2836331ca78aed29390914d294f7a440d35927142" - ], - [ - "file", - [ - "/usr/share/texmf-dist/tex/latex/graphics/keyval.sty" - ], - "8434ad08617159240fd19b4fcae8bf79a6137af413f3798c8a750e9839f8902e" - ], - [ - "file", - [ - "/usr/share/texmf-dist/tex/latex/amsmath/amsopn.sty" - ], - "981dbcccfc3a2449768ae5b1cb7b8b1468bb1f7842429067cd6f6ef0ade42fc2" - ], - [ - "file", - [ - "/usr/share/texmf-dist/fonts/type1/urw/courier/ucrr8a.pfb" - ], - "8816758f882b18a97a2fcdd4e496b881cd7726b8612648cbfb1c9de2d9853029" - ], - [ - "file", - [ - "/usr/share/texmf-dist/tex/latex/listings/lstlang1.sty" - ], - "7ec0d3442c273319ee517745cece539182acf7279ab9596d3e56eb32689e7c53" - ], - [ - "file", - [ - "/usr/share/texmf-dist/fonts/tfm/adobe/courier/pcrr7t.tfm" - ], - "1388f235f7f54d28db4af569ee32821869aefbef29ee622c7e30b2e41dbda87c" - ], - [ - "file", - [ - "main.aux" - ], - "fd6d6b99756b155e84aa21e148d557343fb3c385b3fbedddb24f3dfa65cd2417" - ], - [ - "file", - [ - "/usr/share/texmf-dist/tex/latex/tools/xspace.sty" - ], - "bc3bfd65d4b52e78822cb9f3561c6663c64465f64dc2475e56542dbc213a3e66" - ], - [ - "file", - [ - "/usr/share/texmf-dist/fonts/tfm/public/cm/cmr8.tfm" - ], - "4c5ae243ac0aa254e7ec7f0602cc2a4351e5011ff0cb6dc150a5f6de19585de6" - ], - [ - "file", - [ - "main.tex" - ], - "d3f976c74a6ec2760db83b228a81de835373306b034aeb106ac37b485f5b9ae3" - ], - [ - "file", - [ - "/usr/share/texmf-dist/tex/latex/listings/lstpatch.sty" - ], - "2472ea616722ae9736cfcb8f72c60ebe6de7b97921be1c43414d6ec735226158" - ], - [ - "file", - [ - "IEEEtran.cls" - ], - "c972aca108fda004c3514d63658e02816da2e54d9a1451e870b9bd970e003f55" - ], - [ - "file", - [ - "/usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb" - ], - "fdcede8794018df5f2b58f0905fb20a2b418ed8f67b73ee12445855dfbe5b1be" - ], - [ - "file", - [ - "/usr/share/texmf-dist/tex/latex/psnfss/ot1pcr.fd" - ], - "58fe4bfa8fe5ed99bc3e28230d07e7ce32e89b338dc247d2934f0bb32bf516b8" - ], - [ - "file", - [ - "/usr/share/texmf-dist/tex/latex/listings/lstlang2.sty" - ], - "85aa24029cbac78aabf0c57fe4ec95c58703dac2fc845490157cf1f5a6634a25" - ], - [ - "file", - [ - "main.bbl" - ], - "5f936c3dd2a01bec61ee8543a9209c3adf0d59f85ffe2aeed31a9553dfb729f2" - ], - [ - "file", - [ - "/usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmr5.pfb" - ], - "84d38aac226b5274baca7a292e2039f5284a35d8a2ae31074a475fad87da310b" - ], - [ - "file", - [ - "/usr/share/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg" - ], - "10db2171b6e267720299c10b9e84f92c5cf069941dbfe3760e198304e49d5324" - ], - [ - "file", - [ - "/usr/share/texmf-dist/tex/latex/amsfonts/amsfonts.sty" - ], - "dab8b0e621267acfd89736cf97bdcc02647c545c0719c4997be8a7d1bf98f9c3" - ], - [ - "file", - [ - "/usr/share/texmf-dist/tex/latex/tools/array.sty" - ], - "dc2b9a0057f8455ac0f74960618e7af3de9bf08da0e7078ef8dd0570a2924427" - ], - [ - "file", - [ - "/usr/share/texmf-dist/fonts/tfm/public/cm/cmmi6.tfm" - ], - "ab6ecb4aaba9ca1b4259b1d1f64309a785bbaeb09183fd79a066b7764a448a28" - ], - [ - "file", - [ - "/usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam7.tfm" - ], - "719d100c110fa1cfae9ad0b63e6c21753f4980f925fa516c1a04961e206f69d5" - ], - [ - "file", - [ - "/usr/share/texmf-dist/fonts/type1/urw/times/utmbi8a.pfb" - ], - "21d029fda4757908be702f42811199eac11ce5886c0acfddd574df4545b1e7a9" - ], - [ - "file", - [ - "sections/conclusion.tex" - ], - "01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b" - ], - [ - "file", - [ - "/usr/share/texmf-dist/tex/latex/listings/listings.sty" - ], - "30538b8ba51ea04fc7b48ee99f7a37b657b1e225cba41d3dbffe2bfa2af5eb57" - ], - [ - "file", - [ - "/var/lib/texmf/web2c/pdftex/pdflatex.fmt" - ], - "94ac62800308131e37213df5d5edcbddc246082321af52a58bc5f8881a23c9dd" - ], - [ - "file", - [ - "/usr/share/texmf-dist/tex/latex/listings/lstlang3.sty" - ], - "637dbaa3bc149ada8edc2b471164a63e70457e105e325b4c00cd2b499ca70067" - ], - [ - "file", - [ - "/usr/share/texmf-dist/tex/latex/base/ifthen.sty" - ], - "b8cbd3c3ed9f0f58e1103c91e29ab8de344a19f4cc7d27fde8d14d962dcf0495" - ], - [ - "file", - [ - "/usr/share/texmf-dist/tex/latex/amscls/amsthm.sty" - ], - "8d5e2bdb117297385971927b14fe4804314133dc0027b3171249a08280894626" - ], - [ - "file", - [ - "/usr/share/texmf-dist/fonts/type1/urw/times/utmr8a.pfb" - ], - "2ef9d47303d25f3c9553a43255dae8c39160e130ad5ed34444e39dee03d796a1" - ], [ "file", [ @@ -510,23 +90,23 @@ [ "file", [ - "sections/appendix.tex" + "/usr/share/texmf-dist/tex/latex/amsmath/amsopn.sty" ], - "332d36bd3b3ad42411bbd687877b368ed25bcd14a02641a2a87b22468d31fda3" + "981dbcccfc3a2449768ae5b1cb7b8b1468bb1f7842429067cd6f6ef0ade42fc2" ], [ "file", [ - "/usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm10.tfm" + "/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map" ], - "d9f5f519ec718e9dbccb8527c1f5d3b4a008dfb946377f97f71611b385d3d010" + "f079d814ec1276acba15801beb39911eb18d0b6d556ae7cf884be6fd3d83f2cf" ], [ "file", [ - "/usr/share/texmf-dist/fonts/tfm/adobe/courier/pcrr8r.tfm" + "/usr/share/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def" ], - "013a6ef55bb5ee9768300df0f4a4d67660fc82b03085b1af358e053da1e21ca7" + "8c808d286cf896399244d121dd0e847a9205c73facc003fe64ec156ec85fd3e5" ], [ "file", @@ -538,37 +118,58 @@ [ "file", [ - "/usr/share/texmf-dist/tex/latex/base/textcomp.sty" + "/usr/share/texmf-dist/tex/latex/listings/lstlang3.sty" ], - "f50ebba76b974a541b8fc2541643911efaead656aae39c957c58d5b23b51a5eb" + "637dbaa3bc149ada8edc2b471164a63e70457e105e325b4c00cd2b499ca70067" ], [ "file", [ - "/usr/share/texmf-dist/tex/latex/graphics/graphics.sty" + "/usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm10.tfm" ], - "36e2e612e708d04785971d6bcfed324d0a0f9ce337ea73680e69dd2603d0327a" + "d9f5f519ec718e9dbccb8527c1f5d3b4a008dfb946377f97f71611b385d3d010" ], [ "file", [ - "sections/abstract.tex" + "/usr/share/texmf-dist/tex/latex/graphics/trig.sty" ], - "56ed68e932967546fef0a9c476b8008e7e0b3619c678368913572f82d8f168b4" + "c2a4f1d01abaf7ad739f1af03238ebb6ab35a7bbfbd5d713acceddda4fb043d5" ], [ "file", [ - "/usr/share/texmf-dist/fonts/vf/adobe/times/ptmbi7t.vf" + "/usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam5.tfm" ], - "6d6b87797a48bb5ff09b505d26ac4eff2e3d54ead648fae8bc0d6e506c9aa8d2" + "c800d1dfd533040219fcc06d52e0e00c2a20fb9b0039fe9f58ccec53fd003a9f" ], [ "file", [ - "/usr/share/texmf-dist/web2c/texmf.cnf" + "/usr/share/texmf-dist/fonts/map/fontname/texfonts.map" ], - "ddd2722ee024d5f4c13123562e7a220c5a66ad0230fa32afc8b365b810a80251" + "d9693993efdc7d0b9ab3df777589995d43e24eeae95f12b6a230a19caadeaa42" + ], + [ + "file", + [ + "/usr/share/texmf-dist/fonts/type1/urw/courier/ucrr8a.pfb" + ], + "8816758f882b18a97a2fcdd4e496b881cd7726b8612648cbfb1c9de2d9853029" + ], + [ + "file", + [ + "/usr/share/texmf-dist/fonts/tfm/adobe/times/ptmri7t.tfm" + ], + "8c5b2e8eb57987c20fac30f8f647133e2dcfea899a08f11971a51a8740267fd4" + ], + [ + "file", + [ + "/usr/share/texmf-dist/tex/latex/listings/lstlang1.sty" + ], + "7ec0d3442c273319ee517745cece539182acf7279ab9596d3e56eb32689e7c53" ], [ "file", @@ -580,72 +181,9 @@ [ "file", [ - "/usr/share/texmf-dist/tex/latex/graphics/mathcolor.ltx" + "/usr/share/texmf-dist/tex/latex/amsfonts/umsa.fd" ], - "0804bb6e9e1eeeaeda861f29206d308194ea7cc846e38abaa344cdefa1d408cd" - ], - [ - "file", - [ - "/usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam10.tfm" - ], - "3b54bde5cb0e0bd071eea7bc702ed3a1a284f786779ef8e75b06eba4104bb9f2" - ], - [ - "file", - [ - "/usr/share/texmf-dist/fonts/tfm/public/cm/cmsy8.tfm" - ], - "84c37f07ca360c41ad0a0fba7387d279d72457c69bdae03653208c683d8de6bc" - ], - [ - "file", - [ - "/usr/share/texmf-dist/tex/latex/amsmath/amsgen.sty" - ], - "1232e78c8af6c4bc16c024fe33b9c4c3322679ad6887be22bc013ddb8d254ed9" - ], - [ - "file", - [ - "assets/diagram3.png" - ], - "d04a42dd9ba8b5d2f24bbd3f21d20fe5c09596dc704c4516743fd800a9567b66" - ], - [ - "file", - [ - "/usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi8.pfb" - ], - "f396f52d9ed3498c15aa7e694baef74c0a11119624fcd6db66dad4ac76972cb0" - ], - [ - "file", - [ - "sections/design.tex" - ], - "0a603c9fdc046cf28c4cf7e725ec743b42f40e3e88cb2e767d443ff931758167" - ], - [ - "file", - [ - "/usr/share/texmf-dist/fonts/tfm/adobe/times/ptmbi8r.tfm" - ], - "466613f08ae6423521bd9aa1d0be9dc69f610e223f171f6f07b91844626d4bd1" - ], - [ - "file", - [ - "/usr/share/texmf-dist/fonts/tfm/adobe/courier/pcrr8c.tfm" - ], - "03c370d1baa81f70c0ff70f6e574953151e8211bfd76e8ad9965e0bfd3fdd263" - ], - [ - "file", - [ - "/usr/share/texmf-dist/fonts/tfm/adobe/times/ptmr8r.tfm" - ], - "280bb0113e2586156cd9414aab226588bb0a4d0fdf71fe6c6475af70d9b61eef" + "48355e960333be747dd7b4500e76fde7c3ef0b1fa9c74ec0f1438af0d3a661a4" ], [ "file", @@ -654,13 +192,6 @@ ], "e9fe8e56401707f18a3d18716dadfd1dab999d02118c82af05691599cedec445" ], - [ - "file", - [ - "/usr/share/texmf-dist/fonts/vf/adobe/times/ptmr7t.vf" - ], - "0df4bc46c777ddc91e944bdfd27e345fe906a914fd1288189ec26419fc65db50" - ], [ "file", [ @@ -671,23 +202,93 @@ [ "file", [ - "/usr/share/texmf-dist/fonts/tfm/public/amsfonts/cmextra/cmex8.tfm" + "/usr/share/texmf-dist/tex/latex/psnfss/ts1pcr.fd" ], - "3f56ab22f7fc6a015813976c6c6cc2fd55736bbaec4958a4562e10719fa18062" + "c5616c536e51dd8a0e9e826f713519cb85e3fc4c6bd4165183cffe970c10ab46" ], [ "file", [ - "sections/attacker_models.tex" + "/usr/share/texmf-dist/fonts/tfm/adobe/times/ptmr8r.tfm" ], - "18663727214b5f4100540dcaf5c4dde2b205b04638ae4a51092df0ac8d6f8a4e" + "280bb0113e2586156cd9414aab226588bb0a4d0fdf71fe6c6475af70d9b61eef" ], [ "file", [ - "/usr/share/texmf-dist/fonts/vf/adobe/times/ptmb7t.vf" + "/usr/share/texmf-dist/tex/latex/algorithms/algorithmic.sty" ], - "72d719be55d369638225c639af2e631a10ecfb662b59edd37d445c954e5dfb79" + "7fe47ed7f8222c56452bd73bf0682e72023ece06d59207653a02e080a341118d" + ], + [ + "file", + [ + "/usr/share/texmf-dist/tex/latex/listings/lstmisc.sty" + ], + "75d13c840d91c5d871782212edfe26358e26b7408a35f4b486bbaa2c7a1fe6ab" + ], + [ + "file", + [ + "/usr/share/texmf-dist/tex/latex/base/ifthen.sty" + ], + "b8cbd3c3ed9f0f58e1103c91e29ab8de344a19f4cc7d27fde8d14d962dcf0495" + ], + [ + "file", + [ + "/usr/share/texmf-dist/fonts/tfm/adobe/courier/pcrr8c.tfm" + ], + "03c370d1baa81f70c0ff70f6e574953151e8211bfd76e8ad9965e0bfd3fdd263" + ], + [ + "file", + [ + "/usr/share/texmf-dist/fonts/tfm/public/cm/cmsy8.tfm" + ], + "84c37f07ca360c41ad0a0fba7387d279d72457c69bdae03653208c683d8de6bc" + ], + [ + "file", + [ + "/usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy7.pfb" + ], + "583b65bd1857bffc2ab184fcb4aad4e70e12eb05c9ca9f1c58c9a00a86c8bccf" + ], + [ + "file", + [ + "/var/lib/texmf/web2c/pdftex/pdflatex.fmt" + ], + "94ac62800308131e37213df5d5edcbddc246082321af52a58bc5f8881a23c9dd" + ], + [ + "file", + [ + "/usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi10.pfb" + ], + "e3661061e8aa474d6de5ffa916edceb0e3d8b998862018c147f0357fce00bcd7" + ], + [ + "file", + [ + "assets/diagram3.png" + ], + "d04a42dd9ba8b5d2f24bbd3f21d20fe5c09596dc704c4516743fd800a9567b66" + ], + [ + "file", + [ + "/usr/share/texmf-dist/fonts/enc/dvips/base/8r.enc" + ], + "66dad15c944f0d457a095fd6e9dba30059a4882b1ffb1f4bf62850ce52c8f136" + ], + [ + "file", + [ + "sections/introduction.tex" + ], + "6515d790ca4d908dce812f034d3b666a0b305449ceb514e02897d147f7e0c9db" ], [ "file", @@ -696,6 +297,167 @@ ], "62ee8cef552017551cd3e026a483e700730103eceaad959c87b7730017f59cff" ], + [ + "file", + [ + "main.aux" + ], + "d54b798d9c81ab92c8b713b8f9a3894262465c78056d0c3ae97e2d8ceb589f41" + ], + [ + "file", + [ + "/usr/share/texmf-dist/tex/latex/graphics/keyval.sty" + ], + "8434ad08617159240fd19b4fcae8bf79a6137af413f3798c8a750e9839f8902e" + ], + [ + "file", + [ + "/usr/share/texmf-dist/fonts/tfm/adobe/courier/pcrr7t.tfm" + ], + "1388f235f7f54d28db4af569ee32821869aefbef29ee622c7e30b2e41dbda87c" + ], + [ + "file", + [ + "sections/abstract.tex" + ], + "56ed68e932967546fef0a9c476b8008e7e0b3619c678368913572f82d8f168b4" + ], + [ + "file", + [ + "/usr/share/texmf-dist/tex/latex/graphics/mathcolor.ltx" + ], + "0804bb6e9e1eeeaeda861f29206d308194ea7cc846e38abaa344cdefa1d408cd" + ], + [ + "file", + [ + "/usr/share/texmf-dist/tex/context/base/mkii/supp-pdf.mkii" + ], + "5dd3675b88c7b61d3703e6bf35ed75623acc6b163dff7b1477b485cee8ad71cb" + ], + [ + "file", + [ + "/usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm5.tfm" + ], + "9e0909a297a3097e50960158d324006ddd5302db665400fa1fdf966df14e1a17" + ], + [ + "file", + [ + "/usr/share/texmf-dist/tex/latex/amsfonts/amsfonts.sty" + ], + "dab8b0e621267acfd89736cf97bdcc02647c545c0719c4997be8a7d1bf98f9c3" + ], + [ + "file", + [ + "/usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi8.pfb" + ], + "f396f52d9ed3498c15aa7e694baef74c0a11119624fcd6db66dad4ac76972cb0" + ], + [ + "file", + [ + "/usr/share/texmf-dist/tex/latex/psnfss/ot1pcr.fd" + ], + "58fe4bfa8fe5ed99bc3e28230d07e7ce32e89b338dc247d2934f0bb32bf516b8" + ], + [ + "file", + [ + "/usr/share/texmf-dist/tex/latex/amsmath/amsgen.sty" + ], + "1232e78c8af6c4bc16c024fe33b9c4c3322679ad6887be22bc013ddb8d254ed9" + ], + [ + "file", + [ + "/usr/share/texmf-dist/tex/latex/tools/xspace.sty" + ], + "bc3bfd65d4b52e78822cb9f3561c6663c64465f64dc2475e56542dbc213a3e66" + ], + [ + "file", + [ + "/usr/share/texmf-dist/fonts/tfm/adobe/times/ptmbi7t.tfm" + ], + "f9649f1a4d564693fd52835b7bd9def8a0d0a8ad8abd1ed3c7f8246949e15e26" + ], + [ + "file", + [ + "/usr/share/texmf-dist/tex/latex/amscls/amsthm.sty" + ], + "8d5e2bdb117297385971927b14fe4804314133dc0027b3171249a08280894626" + ], + [ + "file", + [ + "/usr/share/texmf-dist/web2c/texmf.cnf" + ], + "ddd2722ee024d5f4c13123562e7a220c5a66ad0230fa32afc8b365b810a80251" + ], + [ + "file", + [ + "main.tex" + ], + "3c444b1cac3b66fe235ebeee29357ca3434f2a0932946254b3ea17895861d4fe" + ], + [ + "file", + [ + "/usr/share/texmf-dist/fonts/tfm/public/cm/cmr8.tfm" + ], + "4c5ae243ac0aa254e7ec7f0602cc2a4351e5011ff0cb6dc150a5f6de19585de6" + ], + [ + "file", + [ + "/usr/share/texmf-dist/fonts/vf/adobe/courier/pcrr8c.vf" + ], + "3cfbd9498aea0ebb257fe0abb6c6b763680101745366fd1fb5b2ef9d8fa7b729" + ], + [ + "file", + [ + "/usr/share/texmf-dist/tex/latex/listings/lstlang2.sty" + ], + "85aa24029cbac78aabf0c57fe4ec95c58703dac2fc845490157cf1f5a6634a25" + ], + [ + "file", + [ + "/usr/share/texmf-dist/fonts/tfm/adobe/courier/pcrr8r.tfm" + ], + "013a6ef55bb5ee9768300df0f4a4d67660fc82b03085b1af358e053da1e21ca7" + ], + [ + "file", + [ + "/usr/share/texmf-dist/tex/latex/tools/array.sty" + ], + "dc2b9a0057f8455ac0f74960618e7af3de9bf08da0e7078ef8dd0570a2924427" + ], + [ + "file", + [ + "main.bbl" + ], + "dbcbe88ae786e99825ddd3729db8413722bd58d87fade93f019e5be0f75cee26" + ], + [ + "file", + [ + "/usr/share/texmf-dist/tex/latex/listings/listings.sty" + ], + "30538b8ba51ea04fc7b48ee99f7a37b657b1e225cba41d3dbffe2bfa2af5eb57" + ], [ "file", [ @@ -703,6 +465,48 @@ ], "3d2226e3d68b4255061baa496cc9cbc107816a7d364720c1bd8c83dccb047b64" ], + [ + "file", + [ + "/usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam10.tfm" + ], + "3b54bde5cb0e0bd071eea7bc702ed3a1a284f786779ef8e75b06eba4104bb9f2" + ], + [ + "file", + [ + "sections/appendix.tex" + ], + "37dccd6e2d1a16dc236cd18145909ef1b3f26609878e4dda4499a4fc5c49e9ee" + ], + [ + "file", + [ + "/usr/share/texmf-dist/fonts/vf/adobe/times/ptmb7t.vf" + ], + "72d719be55d369638225c639af2e631a10ecfb662b59edd37d445c954e5dfb79" + ], + [ + "file", + [ + "/usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm7.tfm" + ], + "361b5530a4b410c6274e9330c11e993843c62e394323aeaa6e0aee61e8042444" + ], + [ + "file", + [ + "/usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi7.pfb" + ], + "5b293a581ddb937b02559c3ce1a60184cc434295533204a2cd3864a6ad8a1f53" + ], + [ + "file", + [ + "/usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmr5.pfb" + ], + "84d38aac226b5274baca7a292e2039f5284a35d8a2ae31074a475fad87da310b" + ], [ "file", [ @@ -720,30 +524,44 @@ [ "file", [ - "sections/introduction.tex" + "/usr/share/texmf-dist/tex/latex/amsfonts/umsb.fd" ], - "6515d790ca4d908dce812f034d3b666a0b305449ceb514e02897d147f7e0c9db" + "e20f21f6ed631cbe3a627d5da5fef82367732a7d51207f8df5ee7e9c77ee342e" ], [ "file", [ - "/usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy7.pfb" + "/usr/share/texmf-dist/fonts/tfm/public/amsfonts/cmextra/cmex8.tfm" ], - "583b65bd1857bffc2ab184fcb4aad4e70e12eb05c9ca9f1c58c9a00a86c8bccf" + "3f56ab22f7fc6a015813976c6c6cc2fd55736bbaec4958a4562e10719fa18062" ], [ "file", [ - "/usr/share/texmf-dist/fonts/enc/dvips/base/8r.enc" + "/usr/share/texmf-dist/fonts/tfm/public/cm/cmmi6.tfm" ], - "66dad15c944f0d457a095fd6e9dba30059a4882b1ffb1f4bf62850ce52c8f136" + "ab6ecb4aaba9ca1b4259b1d1f64309a785bbaeb09183fd79a066b7764a448a28" ], [ "file", [ - "/usr/share/texmf-dist/tex/latex/cite/cite.sty" + "/usr/share/texmf-dist/fonts/type1/urw/times/utmbi8a.pfb" ], - "56979b7c69ae65bdb52de5bcd540625cae6dd70119e767db438a4826991910ea" + "21d029fda4757908be702f42811199eac11ce5886c0acfddd574df4545b1e7a9" + ], + [ + "file", + [ + "/usr/share/texmf-dist/fonts/tfm/public/amsfonts/cmextra/cmex7.tfm" + ], + "373172fe340e4aede5129b89d65f576bfb1fe6932bd55c38f60bcaa84f3d1188" + ], + [ + "file", + [ + "/usr/share/texmf-dist/fonts/type1/urw/times/utmr8a.pfb" + ], + "2ef9d47303d25f3c9553a43255dae8c39160e130ad5ed34444e39dee03d796a1" ], [ "file", @@ -755,37 +573,58 @@ [ "file", [ - "/usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi7.pfb" + "/usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmex10.pfb" ], - "5b293a581ddb937b02559c3ce1a60184cc434295533204a2cd3864a6ad8a1f53" + "791b31aa1db8608d0144b3a40fc0fe53383a60f6b00d0e8fd9f06ac4a11df8cb" ], [ "file", [ - "/usr/share/texmf-dist/tex/latex/amsfonts/amssymb.sty" + "/usr/share/texmf-dist/tex/latex/graphics-cfg/graphics.cfg" ], - "70838b061b56569dd3ed9f339b1bdd1c78ba185de49f27ceae331c97f48b5986" + "feb91e48789a21e4acced98e952c77a2e2cf4a77e01bf147b59fa56a1b3f2008" ], [ "file", [ - "/usr/share/texmf-dist/fonts/tfm/public/cm/cmr6.tfm" + "/usr/share/texmf-dist/fonts/tfm/public/cm/cmmi8.tfm" ], - "106afa9172f0c00e58b9f5cbc72b302a18aaeeaddf50caca145af9cc0b81afd2" + "65af8c1e162a952cab8e93c834fcf43ce09b508e6c16e512ebb673cd850b0d41" ], [ "file", [ - "/usr/share/texmf-dist/fonts/tfm/adobe/times/ptmri7t.tfm" + "/usr/share/texmf-dist/fonts/tfm/adobe/times/ptmri8r.tfm" ], - "8c5b2e8eb57987c20fac30f8f647133e2dcfea899a08f11971a51a8740267fd4" + "5a8d22bbac97332450c06d766ea8f4cac97ebe0c941da9d473a5d422b8bb0667" ], [ "file", [ - "/usr/share/texmf-dist/tex/latex/amsmath/amsmath.sty" + "/usr/share/texmf-dist/tex/latex/graphics/graphics.sty" ], - "da22219a49c094141141bb29034c438d1ccba8a9afe6cdd5d15b96c15bf56901" + "36e2e612e708d04785971d6bcfed324d0a0f9ce337ea73680e69dd2603d0327a" + ], + [ + "file", + [ + "/usr/share/texmf-dist/fonts/vf/adobe/times/ptmbi7t.vf" + ], + "6d6b87797a48bb5ff09b505d26ac4eff2e3d54ead648fae8bc0d6e506c9aa8d2" + ], + [ + "file", + [ + "sections/conclusion.tex" + ], + "4fc6bbde75727e25ba79d08653e620c87e6bf053c097c7c0b79d0bc58a39af92" + ], + [ + "file", + [ + "sections/attacker_models.tex" + ], + "18034a6e640288bc3ff1e8bd8a51202d3c8002a1b0e5c04f13224392bc940ff6" ], [ "file", @@ -797,9 +636,30 @@ [ "file", [ - "/usr/share/texmf-dist/tex/latex/listings/lstmisc.sty" + "sections/case_studies.tex" ], - "75d13c840d91c5d871782212edfe26358e26b7408a35f4b486bbaa2c7a1fe6ab" + "29f222428ba567b15cd188b62c948430cd87ec7bffd352b2f97d8b664855ed46" + ], + [ + "file", + [ + "/usr/share/texmf-dist/fonts/tfm/public/cm/cmsy6.tfm" + ], + "137eb9f38f661c66309614066a7b5d63d8969d33aba0c9efee9f844a4ce65b50" + ], + [ + "file", + [ + "/usr/share/texmf-dist/fonts/type1/urw/times/utmri8a.pfb" + ], + "f9a0c528b42d2ded2884e31cf1d225b81739ca9b17a0e7cb362fad404ce0aedf" + ], + [ + "file", + [ + "/usr/share/texmf-dist/fonts/tfm/public/cm/cmr6.tfm" + ], + "106afa9172f0c00e58b9f5cbc72b302a18aaeeaddf50caca145af9cc0b81afd2" ], [ "file", @@ -809,49 +669,184 @@ "d0dd49d4d3eb37e5fcdc4de4e9add7ea5f150be907ac5c4705b382775e55d62b" ], [ - "unknown_input", - [], - 1731959296.3916712 + "file", + [ + "/usr/share/texmf-dist/tex/latex/base/textcomp.sty" + ], + "f50ebba76b974a541b8fc2541643911efaead656aae39c957c58d5b23b51a5eb" + ], + [ + "file", + [ + "/usr/share/texmf-dist/fonts/vf/adobe/times/ptmbc7t.vf" + ], + "37a743df9f8e5a736e4d51b17574c1d0b0db36af1ad798ff4a5e0fead9fd653e" + ], + [ + "file", + [ + "/usr/share/texmf-dist/fonts/tfm/adobe/times/ptmb8r.tfm" + ], + "a48198d87f9b9f90d652b8f41d41dbb3978a44669225c89394a4620031ace6a2" + ], + [ + "file", + [ + "/usr/share/texmf-dist/tex/latex/comment/comment.sty" + ], + "27b76432648ff0c428cc0f435d9caa015880fb7d7fc02fbce45f284451a7e7ab" + ], + [ + "file", + [ + "/usr/share/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg" + ], + "10db2171b6e267720299c10b9e84f92c5cf069941dbfe3760e198304e49d5324" + ], + [ + "file", + [ + "IEEEtran.cls" + ], + "c972aca108fda004c3514d63658e02816da2e54d9a1451e870b9bd970e003f55" + ], + [ + "file", + [ + "/usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb" + ], + "fdcede8794018df5f2b58f0905fb20a2b418ed8f67b73ee12445855dfbe5b1be" + ], + [ + "file", + [ + "/usr/share/texmf-dist/tex/latex/amsmath/amsbsy.sty" + ], + "f69355f4b0a8b650296fe2fd9471783a6940e6525efd5d7d306b5477daef494d" + ], + [ + "file", + [ + "/usr/share/texmf-dist/tex/latex/amsmath/amsmath.sty" + ], + "da22219a49c094141141bb29034c438d1ccba8a9afe6cdd5d15b96c15bf56901" + ], + [ + "file", + [ + "/usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmr7.pfb" + ], + "b37e8671820b0753c6e233eaa3230c6ab9cff04e6c4baee312d60ae261e5aba1" + ], + [ + "file", + [ + "/usr/share/texmf-dist/tex/latex/cite/cite.sty" + ], + "56979b7c69ae65bdb52de5bcd540625cae6dd70119e767db438a4826991910ea" + ], + [ + "file", + [ + "sections/design.tex" + ], + "841358a8990effdd590e1ee0bb5ba2520e3afa19fbc36ea3097bb313f45a6125" + ], + [ + "file", + [ + "/usr/share/texmf-dist/tex/latex/amsfonts/amssymb.sty" + ], + "70838b061b56569dd3ed9f339b1bdd1c78ba185de49f27ceae331c97f48b5986" + ], + [ + "file", + [ + "/usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi5.pfb" + ], + "35048e58e53f4aa53025069c1d0de33a16d8d4c111bfa329669e6456ec0a967b" + ], + [ + "file", + [ + "/usr/share/texmf-dist/fonts/tfm/adobe/times/ptmbi8r.tfm" + ], + "466613f08ae6423521bd9aa1d0be9dc69f610e223f171f6f07b91844626d4bd1" + ], + [ + "file", + [ + "/usr/share/texmf-dist/tex/latex/psnfss/ot1ptm.fd" + ], + "9c5beb0652c0f26a78269825fea061968682671d11e2a16513d1a602bf248400" + ], + [ + "file", + [ + "/usr/share/texmf-dist/tex/latex/xcolor/xcolor.sty" + ], + "6d66da8f16088689c2f4995b4e920703cc94faade57911ed7aabd32b04367824" + ], + [ + "file", + [ + "/usr/share/texmf-dist/fonts/vf/adobe/times/ptmr7t.vf" + ], + "0df4bc46c777ddc91e944bdfd27e345fe906a914fd1288189ec26419fc65db50" + ], + [ + "file", + [ + "/usr/share/texmf-dist/tex/latex/listings/lstpatch.sty" + ], + "2472ea616722ae9736cfcb8f72c60ebe6de7b97921be1c43414d6ec735226158" + ], + [ + "file", + [ + "/usr/share/texmf-dist/fonts/vf/adobe/times/ptmrc7t.vf" + ], + "0011bdb7dbf11831fa73c87e70751c267754f1ebbe50a9cedf409ea0c22db41a" + ], + [ + "file", + [ + "/usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam7.tfm" + ], + "719d100c110fa1cfae9ad0b63e6c21753f4980f925fa516c1a04961e206f69d5" ], [ "file", [ "./main.fls" ], - "2e1f4dc51fea533fac7fe0a2eb78b9665637379db3292e01938cb73af7efbdec" - ], - [ - "file", - [ - "main.log" - ], - "7661dc065222cb265c95c3a4fdf6e3afe53c20c894f8e9a966879feb26de3488" - ], - [ - "file", - [ - "main.aux" - ], - "27cc8b0cd222e53345564bf6968ca65f61a90178d5bf60a3f81680d385fced27" + "efd37775ec247fa19b34875bcbc5e7604beaeec54ff4061bf5c509ed879d35b2" ], [ "file", [ "main.pdf" ], - "8760ebdc50c6be72dd09b4171e7b5e360a7c126089c3b745fb369281b33e6b02" + "9ed9b62d9edd68c5f09dc62cb20793c2ce9c1a97f259c8652b16ac0ff5fddb84" + ], + [ + "file", + [ + "main.log" + ], + "fb4412e89e3985e32ab737cc3babb3724f76b2d193079c1508aba694b7571d3a" ] ], "output_files": { - "./main.fls": "2e1f4dc51fea533fac7fe0a2eb78b9665637379db3292e01938cb73af7efbdec", - "main.log": "7661dc065222cb265c95c3a4fdf6e3afe53c20c894f8e9a966879feb26de3488", - "main.aux": "27cc8b0cd222e53345564bf6968ca65f61a90178d5bf60a3f81680d385fced27", - "main.pdf": "8760ebdc50c6be72dd09b4171e7b5e360a7c126089c3b745fb369281b33e6b02" + "main.aux": "d54b798d9c81ab92c8b713b8f9a3894262465c78056d0c3ae97e2d8ceb589f41", + "./main.fls": "efd37775ec247fa19b34875bcbc5e7604beaeec54ff4061bf5c509ed879d35b2", + "main.pdf": "9ed9b62d9edd68c5f09dc62cb20793c2ce9c1a97f259c8652b16ac0ff5fddb84", + "main.log": "fb4412e89e3985e32ab737cc3babb3724f76b2d193079c1508aba694b7571d3a" }, "extra": { "jobname": "./main", "outname": "./main.pdf", - "status": 1 + "status": 0 } }, "latex_commit::main.tex": { @@ -916,7 +911,7 @@ [ "./main.aux" ], - "3534f5c76737cd3b75f5854591ff8582ce0722eae5e4f0f2741b7efc1e0a0578" + "b46663bdd9168822dac3672251620a3082cc61447d12d01392991d7423c637e5" ], [ "file", @@ -937,19 +932,19 @@ [ "./main.bbl" ], - "5f936c3dd2a01bec61ee8543a9209c3adf0d59f85ffe2aeed31a9553dfb729f2" + "dbcbe88ae786e99825ddd3729db8413722bd58d87fade93f019e5be0f75cee26" ], [ "file", [ "./main.blg" ], - "63bdede483764b59492521f8ec64260f6cabaa8e171f9e1e235954c206120ac9" + "7756a5475c2a4f7095efe720fda08a56854daa09bea03041abe4ef1b57444226" ] ], "output_files": { - "./main.bbl": "5f936c3dd2a01bec61ee8543a9209c3adf0d59f85ffe2aeed31a9553dfb729f2", - "./main.blg": "63bdede483764b59492521f8ec64260f6cabaa8e171f9e1e235954c206120ac9" + "./main.bbl": "dbcbe88ae786e99825ddd3729db8413722bd58d87fade93f019e5be0f75cee26", + "./main.blg": "7756a5475c2a4f7095efe720fda08a56854daa09bea03041abe4ef1b57444226" }, "extra": { "outbase": "./main", @@ -962,11 +957,11 @@ } }, "clean": { - "main.log": "7661dc065222cb265c95c3a4fdf6e3afe53c20c894f8e9a966879feb26de3488", - "main.pdf": "8760ebdc50c6be72dd09b4171e7b5e360a7c126089c3b745fb369281b33e6b02", - "main.aux": "27cc8b0cd222e53345564bf6968ca65f61a90178d5bf60a3f81680d385fced27", - "./main.fls": "2e1f4dc51fea533fac7fe0a2eb78b9665637379db3292e01938cb73af7efbdec", - "./main.bbl": "5f936c3dd2a01bec61ee8543a9209c3adf0d59f85ffe2aeed31a9553dfb729f2", - "./main.blg": "63bdede483764b59492521f8ec64260f6cabaa8e171f9e1e235954c206120ac9" + "main.log": "fb4412e89e3985e32ab737cc3babb3724f76b2d193079c1508aba694b7571d3a", + "main.pdf": "9ed9b62d9edd68c5f09dc62cb20793c2ce9c1a97f259c8652b16ac0ff5fddb84", + "main.aux": "d54b798d9c81ab92c8b713b8f9a3894262465c78056d0c3ae97e2d8ceb589f41", + "./main.fls": "efd37775ec247fa19b34875bcbc5e7604beaeec54ff4061bf5c509ed879d35b2", + "./main.bbl": "dbcbe88ae786e99825ddd3729db8413722bd58d87fade93f019e5be0f75cee26", + "./main.blg": "7756a5475c2a4f7095efe720fda08a56854daa09bea03041abe4ef1b57444226" } } \ No newline at end of file diff --git a/main.aux b/main.aux index a251e5c..c95fd70 100644 --- a/main.aux +++ b/main.aux @@ -10,49 +10,57 @@ \newlabel{sub:High-level design}{{\mbox {II-A}}{1}{}{}{}} \@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces A high-level overview of the \textsc {Korg}\xspace workflow}}{1}{}\protected@file@percent } \newlabel{fig:korg_workflow}{{1}{1}{}{}{}} -\@writefile{toc}{\contentsline {subsection}{\numberline {\mbox {II-B}}Soundness And Completeness of Korg}{1}{}\protected@file@percent } -\newlabel{sub:Soundness And Completeness}{{\mbox {II-B}}{1}{}{}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {\mbox {II-B}}Supported Attacker Models}{1}{}\protected@file@percent } +\newlabel{sub:Supported Attacker Models}{{\mbox {II-B}}{1}{}{}{}} \citation{Kozen_1977} \citation{Clarke_Wang} -\@writefile{toc}{\contentsline {subsection}{\numberline {\mbox {II-C}}The Korg Implementation}{2}{}\protected@file@percent } -\newlabel{sub:The Korg Implementation}{{\mbox {II-C}}{2}{}{}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {\mbox {II-C}}Soundness And Completeness of Korg}{2}{}\protected@file@percent } +\newlabel{sub:Soundness And Completeness}{{\mbox {II-C}}{2}{}{}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {\mbox {II-D}}The Korg Implementation}{2}{}\protected@file@percent } +\newlabel{sub:The Korg Implementation}{{\mbox {II-D}}{2}{}{}{}} \newlabel{lst:spin-model}{{1}{2}{}{}{}} -\@writefile{lol}{\contentsline {lstlisting}{\numberline {1}Example \textsc {Promela}\xspace model of peers communicating over a channel}{2}{}\protected@file@percent } -\@writefile{toc}{\contentsline {subsection}{\numberline {\mbox {II-D}}Usage}{2}{}\protected@file@percent } -\newlabel{sub:Usage}{{\mbox {II-D}}{2}{}{}{}} -\newlabel{lst:prod-consume}{{2}{2}{}{}{}} -\@writefile{lol}{\contentsline {lstlisting}{\numberline {2}Example \textsc {Promela}\xspace model with four producers and one consumer.}{2}{}\protected@file@percent } -\newlabel{lst:korg-shell}{{\mbox {II-D}}{2}{}{}{}} -\newlabel{trace}{{\mbox {II-D}}{2}{}{}{}} -\citation{Woos_Wilcox_Anton_Tatlock_Ernst_Anderson_2016,Wilcox_Woos_Panchekha_Tatlock_Wang_Ernst_Anderson,Ongaro} -\citation{Ongaro} +\@writefile{lol}{\contentsline {lstlisting}{\numberline {1}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{toc}{\contentsline {subsection}{\numberline {\mbox {II-E}}Usage}{2}{}\protected@file@percent } +\newlabel{sub:Usage}{{\mbox {II-E}}{2}{}{}{}} +\newlabel{lst:abp}{{2}{3}{}{}{}} +\@writefile{lol}{\contentsline {lstlisting}{\numberline {2}Example (simplified) \textsc {Promela}\xspace model of the alternating bit protocol.}{3}{}\protected@file@percent } +\newlabel{lst:korg-shell}{{\mbox {II-E}}{3}{}{}{}} +\@writefile{toc}{\contentsline {section}{\numberline {III}Attacker Model Gadgets}{3}{}\protected@file@percent } +\newlabel{sec:usage_attacker_models}{{III}{3}{}{}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {\mbox {III-A}}Drop Attacker Model Gadget}{3}{}\protected@file@percent } +\newlabel{sub:Dropping Attacker}{{\mbox {III-A}}{3}{}{}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {\mbox {III-B}}Replay Attacker Model Gadget}{3}{}\protected@file@percent } +\newlabel{sub:Replay Attacker}{{\mbox {III-B}}{3}{}{}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {\mbox {III-C}}Reorder Attacker Model Gadget}{3}{}\protected@file@percent } +\newlabel{sub:reordering Attacker}{{\mbox {III-C}}{3}{}{}{}} \citation{Cluzel_Georgiou_Moy_Zeller_2021,Smith_1997,Pacheco2022} \citation{Pacheco2022} \citation{Pacheco2022,Hippel2022} -\citation{rfc9260} \citation{Pacheco2022} \citation{Pacheco2022} -\@writefile{toc}{\contentsline {section}{\numberline {III}Attacker Models}{3}{}\protected@file@percent } -\newlabel{sec:usage_attacker_models}{{III}{3}{}{}{}} -\@writefile{toc}{\contentsline {subsection}{\numberline {\mbox {III-A}}Dropping Attacker Model}{3}{}\protected@file@percent } -\newlabel{sub:Dropping Attacker}{{\mbox {III-A}}{3}{}{}{}} -\@writefile{toc}{\contentsline {subsection}{\numberline {\mbox {III-B}}Replaying Attacker Model}{3}{}\protected@file@percent } -\newlabel{sub:Replay Attacker}{{\mbox {III-B}}{3}{}{}{}} -\@writefile{toc}{\contentsline {subsection}{\numberline {\mbox {III-C}}Reordering Attacker Model}{3}{}\protected@file@percent } -\newlabel{sub:reordering Attacker}{{\mbox {III-C}}{3}{}{}{}} -\@writefile{toc}{\contentsline {subsection}{\numberline {\mbox {III-D}}Custom Attacker Models}{3}{}\protected@file@percent } -\newlabel{sub:Custom Attacker Models}{{\mbox {III-D}}{3}{}{}{}} -\@writefile{toc}{\contentsline {section}{\numberline {IV}Case Studies}{3}{}\protected@file@percent } -\newlabel{sec:case_studies}{{IV}{3}{}{}{}} -\@writefile{toc}{\contentsline {subsection}{\numberline {\mbox {IV-A}}Raft}{3}{}\protected@file@percent } -\newlabel{sub:Raft}{{\mbox {IV-A}}{3}{}{}{}} -\@writefile{toc}{\contentsline {subsection}{\numberline {\mbox {IV-B}}TCP}{3}{}\protected@file@percent } -\newlabel{sub:TCP}{{\mbox {IV-B}}{3}{}{}{}} +\citation{Pacheco2022} +\citation{Woos_Wilcox_Anton_Tatlock_Ernst_Anderson_2016,Wilcox_Woos_Panchekha_Tatlock_Wang_Ernst_Anderson,Ongaro} +\citation{Ongaro} +\citation{Ongaro} +\citation{Woos_Wilcox_Anton_Tatlock_Ernst_Anderson_2016} \bibstyle{IEEEtran} \bibdata{main} \bibcite{Lamport_1994}{1} \bibcite{Holzmann_1997}{2} \bibcite{Clarke_Wang}{3} +\@writefile{toc}{\contentsline {subsection}{\numberline {\mbox {III-D}}Insert Attacker Models}{4}{}\protected@file@percent } +\newlabel{sub:Custom Attacker Models}{{\mbox {III-D}}{4}{}{}{}} +\@writefile{toc}{\contentsline {section}{\numberline {IV}Case Studies}{4}{}\protected@file@percent } +\newlabel{sec:case_studies}{{IV}{4}{}{}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {\mbox {IV-A}}TCP}{4}{}\protected@file@percent } +\newlabel{sub:TCP}{{\mbox {IV-A}}{4}{}{}{}} +\newlabel{res:tcp-table}{{\mbox {IV-A}}{4}{}{}{}} +\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces Automatically discovered attacks against the hand-written TCP model from Pacheco et al. and our own, for $\phi _1$ through $\phi _4$. "x" indicates an attack was discovered, and no "x" indicates \textsc {Korg}\xspace proved the absence of an attack via an exhaustive search. Full attack traces are available in the artifact.}}{4}{}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {\mbox {IV-B}}Raft}{4}{}\protected@file@percent } +\newlabel{sub:Raft}{{\mbox {IV-B}}{4}{}{}{}} +\@writefile{toc}{\contentsline {section}{\numberline {V}Conclusion}{4}{}\protected@file@percent } +\newlabel{sec:conclusion}{{V}{4}{}{}{}} +\@writefile{toc}{\contentsline {section}{References}{4}{}\protected@file@percent } \bibcite{Basin_Cremers_Dreier_Sasse_2022}{4} \bibcite{Blanchet_Smyth_Cheval_Sylvestre}{5} \bibcite{Kobeissi_Nicolas_Tiwari}{6} @@ -60,38 +68,32 @@ \bibcite{Basin_Linker_Sasse}{8} \bibcite{Hippel2022}{9} \bibcite{Kozen_1977}{10} -\bibcite{Woos_Wilcox_Anton_Tatlock_Ernst_Anderson_2016}{11} -\bibcite{Wilcox_Woos_Panchekha_Tatlock_Wang_Ernst_Anderson}{12} -\bibcite{Ongaro}{13} -\bibcite{Cluzel_Georgiou_Moy_Zeller_2021}{14} -\bibcite{Smith_1997}{15} -\bibcite{Pacheco2022}{16} -\bibcite{rfc9260}{17} -\newlabel{res:tcp-table}{{\mbox {IV-B}}{4}{}{}{}} -\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces Automatically discovered attacks against the gold, canonical (labeled "expert"), and revised TCP models for $\phi _1$ through $\phi _4$. "x" indicates an attack was discovered, and no "x" indicates \textsc {Korg}\xspace proved the absence of an attack via an exhaustive search. Full attack traces are available in the artifact.}}{4}{}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {V}Conclusion}{4}{}\protected@file@percent } -\newlabel{sec:conclusion}{{V}{4}{}{}{}} -\@writefile{toc}{\contentsline {section}{References}{4}{}\protected@file@percent } -\@writefile{toc}{\contentsline {section}{\numberline {VI}Appendix}{4}{}\protected@file@percent } -\newlabel{sec:Appendix}{{VI}{4}{}{}{}} -\@writefile{toc}{\contentsline {subsection}{\numberline {\mbox {VI-A}}Full Korg Soundness and Completeness Proofs}{4}{}\protected@file@percent } -\newlabel{sub:korg_proofs}{{\mbox {VI-A}}{4}{}{}{}} +\bibcite{Cluzel_Georgiou_Moy_Zeller_2021}{11} +\bibcite{Smith_1997}{12} +\bibcite{Pacheco2022}{13} +\bibcite{Woos_Wilcox_Anton_Tatlock_Ernst_Anderson_2016}{14} +\bibcite{Wilcox_Woos_Panchekha_Tatlock_Wang_Ernst_Anderson}{15} +\bibcite{Ongaro}{16} +\@writefile{toc}{\contentsline {section}{\numberline {VI}Appendix}{5}{}\protected@file@percent } +\newlabel{sec:Appendix}{{VI}{5}{}{}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {\mbox {VI-A}}Full Korg Soundness and Completeness Proofs}{5}{}\protected@file@percent } +\newlabel{sub:korg_proofs}{{\mbox {VI-A}}{5}{}{}{}} \citation{Holzmann_1997} \citation{Kozen_1977} -\@writefile{toc}{\contentsline {subsection}{\numberline {\mbox {VI-B}}Preventing Korg Livelocks}{5}{}\protected@file@percent } -\newlabel{sub:Preventing Korg Livelocks}{{\mbox {VI-B}}{5}{}{}{}} -\newlabel{lst:drop_passer}{{3}{5}{}{}{}} -\@writefile{lol}{\contentsline {lstlisting}{\numberline {3}Example dropping attacker model gadget with message skipping}{5}{}\protected@file@percent } +\@writefile{toc}{\contentsline {subsection}{\numberline {\mbox {VI-B}}Preventing Korg Livelocks}{6}{}\protected@file@percent } +\newlabel{sub:Preventing Korg Livelocks}{{\mbox {VI-B}}{6}{}{}{}} \@writefile{toc}{\contentsline {subsection}{\numberline {\mbox {VI-C}}Attacker Model Gadget Examples}{6}{}\protected@file@percent } \newlabel{sub:Attacker Model Gadget Examples}{{\mbox {VI-C}}{6}{}{}{}} +\newlabel{lst:drop_passer}{{3}{6}{}{}{}} +\@writefile{lol}{\contentsline {lstlisting}{\numberline {3}Example dropping attacker model gadget with message skipping}{6}{}\protected@file@percent } \newlabel{lst:korg_drop}{{4}{6}{}{}{}} \@writefile{lol}{\contentsline {lstlisting}{\numberline {4}Example dropping attacker model gadget with drop limit of 3, targetting channel "cn"}{6}{}\protected@file@percent } -\newlabel{lst:korg_replay}{{5}{6}{}{}{}} -\@writefile{lol}{\contentsline {lstlisting}{\numberline {5}Example replay attacker model gadget with the selected replay limit as 3, targetting channel "cn"}{6}{}\protected@file@percent } +\newlabel{lst:korg_replay}{{5}{7}{}{}{}} +\@writefile{lol}{\contentsline {lstlisting}{\numberline {5}Example replay attacker model gadget with the selected replay limit as 3, targetting channel "cn"}{7}{}\protected@file@percent } \newlabel{lst:korg_reordering}{{6}{7}{}{}{}} \@writefile{lol}{\contentsline {lstlisting}{\numberline {6}Example reordering attacker model gadget with the selected replay limit as 3, targetting channel "cn"}{7}{}\protected@file@percent } -\newlabel{lst:io-file}{{7}{7}{}{}{}} -\@writefile{lol}{\contentsline {lstlisting}{\numberline {7}Example I/O file targetting channel "cn"}{7}{}\protected@file@percent } -\newlabel{lst:io-file-synth}{{8}{7}{}{}{}} -\@writefile{lol}{\contentsline {lstlisting}{\numberline {8}Example gadget synthesized from an I/O file targetting the channel "cn"}{7}{}\protected@file@percent } -\gdef \@abspage@last{7} +\newlabel{lst:io-file}{{7}{8}{}{}{}} +\@writefile{lol}{\contentsline {lstlisting}{\numberline {7}Example I/O file targetting channel "cn"}{8}{}\protected@file@percent } +\newlabel{lst:io-file-synth}{{8}{8}{}{}{}} +\@writefile{lol}{\contentsline {lstlisting}{\numberline {8}Example gadget synthesized from an I/O file targetting the channel "cn"}{8}{}\protected@file@percent } +\gdef \@abspage@last{8} diff --git a/main.bbl b/main.bbl index cefcf96..18a9fa1 100644 --- a/main.bbl +++ b/main.bbl @@ -75,26 +75,6 @@ D.~Kozen, ``\BIBforeignlanguage{en}{Lower bounds for natural proof systems},'' \url{http://ieeexplore.ieee.org/document/4567949/} \BIBentrySTDinterwordspacing -\bibitem{Woos_Wilcox_Anton_Tatlock_Ernst_Anderson_2016} -\BIBentryALTinterwordspacing -D.~Woos, J.~R. Wilcox, S.~Anton, Z.~Tatlock, M.~D. Ernst, and T.~Anderson, - ``\BIBforeignlanguage{en}{Planning for change in a formal verification of the - raft consensus protocol},'' in \emph{\BIBforeignlanguage{en}{Proceedings of - the 5th ACM SIGPLAN Conference on Certified Programs and Proofs}}.\hskip 1em - plus 0.5em minus 0.4em\relax St. Petersburg FL USA: ACM, Jan. 2016, p. - 154–165. [Online]. Available: - \url{https://dl.acm.org/doi/10.1145/2854065.2854081} -\BIBentrySTDinterwordspacing - -\bibitem{Wilcox_Woos_Panchekha_Tatlock_Wang_Ernst_Anderson} -J.~R. Wilcox, D.~Woos, P.~Panchekha, Z.~Tatlock, X.~Wang, M.~D. Ernst, and - T.~Anderson, ``\BIBforeignlanguage{en}{Verdi: A framework for implementing - and formally verifying distributed systems}.'' - -\bibitem{Ongaro} -D.~Ongaro, ``\BIBforeignlanguage{en}{Consensus: Bridging theory and - practice}.'' - \bibitem{Cluzel_Georgiou_Moy_Zeller_2021} \BIBentryALTinterwordspacing G.~Cluzel, K.~Georgiou, Y.~Moy, and C.~Zeller, @@ -124,12 +104,24 @@ M.~L. Pacheco, M.~V. Hippel, B.~Weintraub, D.~Goldwasser, and C.~Nita-Rotaru, \url{https://ieeexplore.ieee.org/document/9833673/} \BIBentrySTDinterwordspacing -\bibitem{rfc9260} +\bibitem{Woos_Wilcox_Anton_Tatlock_Ernst_Anderson_2016} \BIBentryALTinterwordspacing -M.~Tüxen, R.~Stewart, K.~Nielsen, R.~Jesup, and S.~Loreto, ``{Stream Control - Transmission Protocol (SCTP) Specification Errata and Issues},'' Request for - Comments, June 2022. [Online]. Available: - \url{https://www.rfc-editor.org/rfc/rfc9260} +D.~Woos, J.~R. Wilcox, S.~Anton, Z.~Tatlock, M.~D. Ernst, and T.~Anderson, + ``\BIBforeignlanguage{en}{Planning for change in a formal verification of the + raft consensus protocol},'' in \emph{\BIBforeignlanguage{en}{Proceedings of + the 5th ACM SIGPLAN Conference on Certified Programs and Proofs}}.\hskip 1em + plus 0.5em minus 0.4em\relax St. Petersburg FL USA: ACM, Jan. 2016, p. + 154–165. [Online]. Available: + \url{https://dl.acm.org/doi/10.1145/2854065.2854081} \BIBentrySTDinterwordspacing +\bibitem{Wilcox_Woos_Panchekha_Tatlock_Wang_Ernst_Anderson} +J.~R. Wilcox, D.~Woos, P.~Panchekha, Z.~Tatlock, X.~Wang, M.~D. Ernst, and + T.~Anderson, ``\BIBforeignlanguage{en}{Verdi: A framework for implementing + and formally verifying distributed systems}.'' + +\bibitem{Ongaro} +D.~Ongaro, ``\BIBforeignlanguage{en}{Consensus: Bridging theory and + practice}.'' + \end{thebibliography} diff --git a/main.blg b/main.blg index 987cb10..213b461 100644 --- a/main.blg +++ b/main.blg @@ -36,45 +36,45 @@ Warning--empty journal in Ongaro Warning--empty year in Ongaro Done. -You've used 17 entries, +You've used 16 entries, 4087 wiz_defined-function locations, - 935 strings with 10819 characters, -and the built_in function-call counts, 9675 in all, are: -= -- 780 -> -- 228 + 927 strings with 10593 characters, +and the built_in function-call counts, 9127 in all, are: += -- 739 +> -- 207 < -- 14 -+ -- 108 -- -- 54 -* -- 546 -:= -- 1511 -add.period$ -- 38 -call.type$ -- 17 -change.case$ -- 19 ++ -- 98 +- -- 49 +* -- 519 +:= -- 1420 +add.period$ -- 36 +call.type$ -- 16 +change.case$ -- 18 chr.to.int$ -- 0 -cite$ -- 32 -duplicate$ -- 827 -empty$ -- 811 -format.name$ -- 66 -if$ -- 2203 +cite$ -- 31 +duplicate$ -- 786 +empty$ -- 765 +format.name$ -- 60 +if$ -- 2081 int.to.chr$ -- 0 -int.to.str$ -- 17 -missing$ -- 158 -newline$ -- 88 -num.names$ -- 17 -pop$ -- 417 +int.to.str$ -- 16 +missing$ -- 147 +newline$ -- 83 +num.names$ -- 16 +pop$ -- 385 preamble$ -- 1 purify$ -- 0 quote$ -- 2 -skip$ -- 729 +skip$ -- 691 stack$ -- 0 -substring$ -- 135 -swap$ -- 582 +substring$ -- 134 +swap$ -- 552 text.length$ -- 14 text.prefix$ -- 0 top$ -- 5 -type$ -- 17 +type$ -- 16 warning$ -- 15 -while$ -- 24 -width$ -- 19 -write$ -- 181 +while$ -- 23 +width$ -- 18 +write$ -- 170 (There were 2 error messages) diff --git a/main.fls b/main.fls index eb33c54..3a6263f 100644 --- a/main.fls +++ b/main.fls @@ -99,6 +99,8 @@ INPUT /usr/share/texmf-dist/tex/latex/tools/xspace.sty INPUT /usr/share/texmf-dist/tex/latex/tools/xspace.sty 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/listings/listings.sty INPUT /usr/share/texmf-dist/tex/latex/listings/listings.sty INPUT /usr/share/texmf-dist/tex/latex/listings/lstpatch.sty @@ -161,6 +163,20 @@ INPUT ./assets/diagram3.png OUTPUT ./main.pdf INPUT ./assets/diagram3.png INPUT /usr/share/texmf-dist/fonts/tfm/adobe/times/ptmrc7t.tfm +INPUT /usr/share/texmf-dist/fonts/tfm/public/amsfonts/cmextra/cmex7.tfm +INPUT /usr/share/texmf-dist/fonts/tfm/public/amsfonts/cmextra/cmex7.tfm +INPUT /usr/share/texmf-dist/tex/latex/amsfonts/umsa.fd +INPUT /usr/share/texmf-dist/tex/latex/amsfonts/umsa.fd +INPUT /usr/share/texmf-dist/tex/latex/amsfonts/umsa.fd +INPUT /usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam10.tfm +INPUT /usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam7.tfm +INPUT /usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam5.tfm +INPUT /usr/share/texmf-dist/tex/latex/amsfonts/umsb.fd +INPUT /usr/share/texmf-dist/tex/latex/amsfonts/umsb.fd +INPUT /usr/share/texmf-dist/tex/latex/amsfonts/umsb.fd +INPUT /usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm10.tfm +INPUT /usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm7.tfm +INPUT /usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm5.tfm 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 @@ -184,48 +200,8 @@ INPUT /usr/share/texmf-dist/fonts/vf/adobe/times/ptmr7t.vf INPUT /usr/share/texmf-dist/fonts/vf/adobe/times/ptmr7t.vf 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/public/amsfonts/cmextra/cmex7.tfm -INPUT /usr/share/texmf-dist/fonts/tfm/public/amsfonts/cmextra/cmex7.tfm -INPUT /usr/share/texmf-dist/tex/latex/amsfonts/umsa.fd -INPUT /usr/share/texmf-dist/tex/latex/amsfonts/umsa.fd -INPUT /usr/share/texmf-dist/tex/latex/amsfonts/umsa.fd -INPUT /usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam10.tfm -INPUT /usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam7.tfm -INPUT /usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam5.tfm -INPUT /usr/share/texmf-dist/tex/latex/amsfonts/umsb.fd -INPUT /usr/share/texmf-dist/tex/latex/amsfonts/umsb.fd -INPUT /usr/share/texmf-dist/tex/latex/amsfonts/umsb.fd -INPUT /usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm10.tfm -INPUT /usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm7.tfm -INPUT /usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm5.tfm -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/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/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 /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/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/attacker_models.tex -INPUT ./sections/attacker_models.tex -INPUT ./sections/attacker_models.tex -INPUT ./sections/attacker_models.tex -INPUT ./sections/attacker_models.tex -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 /usr/share/texmf-dist/fonts/tfm/public/cm/cmr8.tfm INPUT /usr/share/texmf-dist/fonts/tfm/public/cm/cmr6.tfm INPUT /usr/share/texmf-dist/fonts/tfm/public/cm/cmmi8.tfm @@ -238,23 +214,55 @@ INPUT /usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam10.tfm INPUT /usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam7.tfm INPUT /usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm10.tfm INPUT /usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msbm7.tfm -INPUT ./sections/conclusion.tex -INPUT ./sections/conclusion.tex -INPUT ./sections/conclusion.tex -INPUT ./sections/conclusion.tex -INPUT ./sections/conclusion.tex -INPUT ./main.bbl -INPUT ./main.bbl -INPUT ./main.bbl -INPUT ./sections/appendix.tex -INPUT ./sections/appendix.tex -INPUT ./sections/appendix.tex -INPUT ./sections/appendix.tex -INPUT ./sections/appendix.tex +INPUT /usr/share/texmf-dist/fonts/tfm/adobe/times/ptmr7t.tfm +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/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/courier/pcrr7t.tfm INPUT /usr/share/texmf-dist/fonts/vf/adobe/times/ptmr7t.vf INPUT /usr/share/texmf-dist/fonts/tfm/adobe/times/ptmr8r.tfm +INPUT /usr/share/texmf-dist/fonts/vf/adobe/times/ptmr7t.vf +INPUT /usr/share/texmf-dist/fonts/tfm/adobe/times/ptmr8r.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/courier/pcrr7t.vf +INPUT /usr/share/texmf-dist/fonts/tfm/adobe/courier/pcrr8r.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/attacker_models.tex +INPUT ./sections/attacker_models.tex +INPUT ./sections/attacker_models.tex +INPUT ./sections/attacker_models.tex +INPUT ./sections/attacker_models.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 +INPUT ./sections/conclusion.tex +INPUT ./sections/conclusion.tex +INPUT ./sections/conclusion.tex +INPUT ./sections/conclusion.tex +INPUT ./main.bbl +INPUT ./main.bbl +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 ./sections/appendix.tex +INPUT ./sections/appendix.tex +INPUT ./sections/appendix.tex +INPUT ./sections/appendix.tex +INPUT ./sections/appendix.tex INPUT /usr/share/texmf-dist/fonts/tfm/adobe/times/ptmrc7t.tfm INPUT /usr/share/texmf-dist/fonts/tfm/adobe/times/ptmrc7t.tfm INPUT ./main.aux diff --git a/main.log b/main.log index fdd1caa..139a74b 100644 --- a/main.log +++ b/main.log @@ -1,4 +1,4 @@ -This is pdfTeX, Version 3.141592653-2.6-1.40.26 (TeX Live 2024/Arch Linux) (preloaded format=pdflatex 2024.7.2) 18 NOV 2024 14:49 +This is pdfTeX, Version 3.141592653-2.6-1.40.26 (TeX Live 2024/Arch Linux) (preloaded format=pdflatex 2024.7.2) 25 NOV 2024 05:14 entering extended mode restricted \write18 enabled. %&-line parsing enabled. @@ -283,6 +283,10 @@ Package: array 2023/10/16 v2.5g Tabular extension package (FMi) \backup@length=\skip60 \ar@cellbox=\box56 ) +(/usr/share/texmf-dist/tex/latex/comment/comment.sty +\CommentStream=\write3 + +Excluding comment 'comment') \c@definition=\count285 (/usr/share/texmf-dist/tex/latex/listings/listings.sty @@ -334,20 +338,20 @@ File: l3backend-pdftex.def 2024-02-20 L3 backend support: PDF output (pdfTeX) ) (./main.aux) \openout1 = `main.aux'. -LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 52. -LaTeX Font Info: ... okay on input line 52. -LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 52. -LaTeX Font Info: ... okay on input line 52. -LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 52. -LaTeX Font Info: ... okay on input line 52. -LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 52. -LaTeX Font Info: ... okay on input line 52. -LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 52. -LaTeX Font Info: ... okay on input line 52. -LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 52. -LaTeX Font Info: ... okay on input line 52. -LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 52. -LaTeX Font Info: ... okay on input line 52. +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 53. +LaTeX Font Info: ... okay on input line 53. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 53. +LaTeX Font Info: ... okay on input line 53. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 53. +LaTeX Font Info: ... okay on input line 53. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 53. +LaTeX Font Info: ... okay on input line 53. +LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 53. +LaTeX Font Info: ... okay on input line 53. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 53. +LaTeX Font Info: ... okay on input line 53. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 53. +LaTeX Font Info: ... okay on input line 53. -- Lines per column: 56 (exact). (/usr/share/texmf-dist/tex/context/base/mkii/supp-pdf.mkii @@ -385,97 +389,67 @@ Overfull \hbox (6.0pt too wide) in paragraph at lines 11--12 [][] [] - -LaTeX Warning: Reference `sub:korg_proofs' on page 1 undefined on input line 26 -. - -[1{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}{/usr/share/texmf-dist/fon -ts/enc/dvips/base/8r.enc} - - - <./assets/diagram3.png (PNG copy)>] -LaTeX Font Info: Trying to load font information for U+msa on input line 40. - +LaTeX Font Info: Trying to load font information for U+msa on input line 22. (/usr/share/texmf-dist/tex/latex/amsfonts/umsa.fd File: umsa.fd 2013/01/14 v3.01 AMS symbols A ) -LaTeX Font Info: Trying to load font information for U+msb on input line 40. +LaTeX Font Info: Trying to load font information for U+msb on input line 22. (/usr/share/texmf-dist/tex/latex/amsfonts/umsb.fd File: umsb.fd 2013/01/14 v3.01 AMS symbols B -) +) [1{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}{/usr/share/texmf-dist/f +onts/enc/dvips/base/8r.enc} + + + <./assets/diagram3.png (PNG copy)>] LaTeX Font Warning: Font shape `OT1/ptm/m/scit' undefined -(Font) using `OT1/ptm/m/sc' instead on input line 40. +(Font) using `OT1/ptm/m/sc' instead on input line 57. -LaTeX Font Info: Trying to load font information for OT1+pcr on input line 7 -8. +LaTeX Font Info: Trying to load font information for OT1+pcr on input line 9 +5. (/usr/share/texmf-dist/tex/latex/psnfss/ot1pcr.fd File: ot1pcr.fd 2001/06/04 font definitions for OT1/pcr. -) +) [2] LaTeX Font Info: Trying to load font information for TS1+pcr on input line 1 -17. +55. (/usr/share/texmf-dist/tex/latex/psnfss/ts1pcr.fd File: ts1pcr.fd 2001/06/04 font definitions for TS1/pcr. -) [2]) -(./sections/attacker_models.tex - -LaTeX Warning: Reference `lst:korg_drop' on page 3 undefined on input line 8. - - -LaTeX Warning: Reference `lst:korg_replay' on page 3 undefined on input line 16 -. - - -LaTeX Warning: Reference `lst:korg_reordering' on page 3 undefined on input lin -e 23. - - -LaTeX Warning: Reference `lst:io-file' on page 3 undefined on input line 29. - - -LaTeX Warning: Reference `lst:io-file-synth' on page 3 undefined on input line -29. - -) (./sections/case_studies.tex -Underfull \hbox (badness 4144) in paragraph at lines 15--15 +) +Excluding 'comment' comment.) (./sections/attacker_models.tex [3]) +(./sections/case_studies.tex +Underfull \hbox (badness 4144) in paragraph at lines 13--13 []\OT1/pcr/m/n/10 SYN_RECEIVED \OT1/ptm/m/n/10 is even-tu-ally fol-lowed by [] -Underfull \hbox (badness 4144) in paragraph at lines 15--15 +Underfull \hbox (badness 4144) in paragraph at lines 13--13 []\OT1/pcr/m/n/10 SYN_RECEIVED \OT1/ptm/m/n/10 is even-tu-ally fol-lowed by [] -Underfull \hbox (badness 4144) in paragraph at lines 15--15 +Underfull \hbox (badness 4144) in paragraph at lines 13--13 []\OT1/pcr/m/n/7 SYN_RECEIVED \OT1/ptm/m/n/7 is even-tu-ally fol-lowed by [] -Underfull \hbox (badness 4144) in paragraph at lines 15--15 +Underfull \hbox (badness 4144) in paragraph at lines 13--13 []\OT1/pcr/m/n/5 SYN_RECEIVED \OT1/ptm/m/n/5 is even-tu-ally fol-lowed by [] -LaTeX Warning: Reference `res:tcp-table' on page 3 undefined on input line 19. +Overfull \hbox (4.66487pt too wide) in paragraph at lines 25--38 + [][] + [] -[3]) (./sections/conclusion.tex) (./main.bbl -** WARNING: IEEEtran.bst: No hyphenation pattern has been -** loaded for the language `en'. Using the pattern for -** the default language instead. -** WARNING: IEEEtran.bst: No hyphenation pattern has been -** loaded for the language `en'. Using the pattern for -** the default language instead. -** WARNING: IEEEtran.bst: No hyphenation pattern has been -** loaded for the language `en'. Using the pattern for -** the default language instead. -** WARNING: IEEEtran.bst: No hyphenation pattern has been -** loaded for the language `en'. Using the pattern for -** the default language instead. +Excluding 'comment' comment. + +LaTeX Warning: Reference `' on page 4 undefined on input line 82. + +) (./sections/conclusion.tex) (./main.bbl ** WARNING: IEEEtran.bst: No hyphenation pattern has been ** loaded for the language `en'. Using the pattern for ** the default language instead. @@ -491,6 +465,7 @@ LaTeX Warning: Reference `res:tcp-table' on page 3 undefined on input line 19. ** WARNING: IEEEtran.bst: No hyphenation pattern has been ** loaded for the language `en'. Using the pattern for ** the default language instead. +[4] ** WARNING: IEEEtran.bst: No hyphenation pattern has been ** loaded for the language `en'. Using the pattern for ** the default language instead. @@ -525,10 +500,22 @@ LaTeX Warning: Reference `res:tcp-table' on page 3 undefined on input line 19. ** loaded for the language `eng'. Using the pattern for ** the default language instead. -Underfull \hbox (badness 1509) in paragraph at lines 110--115 +Underfull \hbox (badness 1509) in paragraph at lines 90--95 \OT1/ptm/m/n/8 t/tcp,'' The-sis, Mas-sachusetts In-sti-tute of Tech-nol-ogy, [] +** WARNING: IEEEtran.bst: No hyphenation pattern has been +** loaded for the language `en'. Using the pattern for +** the default language instead. +** WARNING: IEEEtran.bst: No hyphenation pattern has been +** loaded for the language `en'. Using the pattern for +** the default language instead. +** WARNING: IEEEtran.bst: No hyphenation pattern has been +** loaded for the language `en'. Using the pattern for +** the default language instead. +** WARNING: IEEEtran.bst: No hyphenation pattern has been +** loaded for the language `en'. Using the pattern for +** the default language instead. ** WARNING: IEEEtran.bst: No hyphenation pattern has been ** loaded for the language `en'. Using the pattern for ** the default language instead. @@ -542,7 +529,7 @@ T1/ptm/m/it/10 A \OT1/ptm/m/n/10 Pro-cess \OT1/ptm/m/it/10 is a tu-ple $\OML/cm m/m/it/10 P \OT1/cmr/m/n/10 = [] -[4] + Underfull \hbox (badness 2165) in paragraph at lines 71--72 []\OT1/ptm/m/n/10 In the Pro-cess: $\OML/cmm/m/it/10 s[]; s[]; s[]; []$ \OT1/pt m/m/n/10 with $\OML/cmm/m/it/10 s[] \OT1/cmr/m/n/10 = \OML/cmm/m/it/10 s[]$ \OT @@ -553,16 +540,17 @@ m/m/n/10 with $\OML/cmm/m/it/10 s[] \OT1/cmr/m/n/10 = \OML/cmm/m/it/10 s[]$ \OT LaTeX Font Warning: Font shape `OT1/ptm/m/scit' undefined (Font) using `OT1/ptm/m/sc' instead on input line 89. - +[5] Underfull \hbox (badness 1715) in paragraph at lines 96--98 \OT1/ptm/m/n/10 via the pre-vi-ous the-o-rem we can con-struct B[]uchi Au- [] -LaTeX Warning: Reference `lst:drop_passer' on page 5 undefined on input line 12 -3. +LaTeX Warning: `h' float specifier changed to `ht'. + + +LaTeX Warning: `h' float specifier changed to `ht'. -[5] LaTeX Warning: `h' float specifier changed to `ht'. @@ -584,7 +572,9 @@ 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. -[6] [7] (./main.aux) +[6] [7] [8 + +] (./main.aux) *********** LaTeX2e <2023-11-01> patch level 1 L3 programming layer <2024-02-20> @@ -593,18 +583,15 @@ L3 programming layer <2024-02-20> LaTeX Warning: There were undefined references. - -LaTeX Warning: Label(s) may have changed. Rerun to get cross-references right. - ) Here is how much of TeX's memory you used: - 6591 strings out of 476076 - 97719 string characters out of 5793776 - 2189187 words of memory out of 5000000 - 28594 multiletter control sequences out of 15000+600000 - 603817 words of font info for 122 fonts, out of 8000000 for 9000 + 6647 strings out of 476076 + 98844 string characters out of 5793776 + 2225187 words of memory out of 5000000 + 28643 multiletter control sequences out of 15000+600000 + 605917 words of font info for 126 fonts, out of 8000000 for 9000 14 hyphenation exceptions out of 8191 - 57i,11n,65p,1153b,1636s stack positions out of 10000i,1000n,20000p,200000b,200000s + 57i,11n,65p,1153b,1534s stack positions out of 10000i,1000n,20000p,200000b,200000s -Output written on main.pdf (7 pages, 274184 bytes). +Output written on ./main.pdf (8 pages, 277407 bytes). PDF statistics: - 110 PDF objects out of 1000 (max. 8388607) - 67 compressed objects within 1 object stream + 113 PDF objects out of 1000 (max. 8388607) + 69 compressed objects within 1 object stream 0 named destinations out of 1000 (max. 500000) 6 words of extra memory for PDF output out of 10000 (max. 10000000) diff --git a/main.pdf b/main.pdf index ca55e7be01ad24784fc1c7de5852a8b33d606cd9..e43dab4c39c3341719d3cf425b94c365c093b394 100644 GIT binary patch delta 100821 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 aQvV|FGd!2yE(9J6HaIak3MC~)Peux|3ZM`G delta 97592 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 diff --git a/main.tex b/main.tex index 74988f0..aea9208 100644 --- a/main.tex +++ b/main.tex @@ -10,6 +10,7 @@ \usepackage{amsmath, amsthm} \usepackage{xspace} \usepackage{array} +\usepackage{comment} %\usepackage{csvsimple} \newtheorem{definition}{Definition} @@ -84,7 +85,7 @@ Protocols, Attack Synthesis, Denial of Service, Model Checking \label{sec:design} \input{sections/design} -\section{Attacker Models} +\section{Attacker Model Gadgets} \label{sec:usage_attacker_models} \input{sections/attacker_models} diff --git a/sections/attacker_models.tex b/sections/attacker_models.tex index fcaa5ec..5004fc1 100644 --- a/sections/attacker_models.tex +++ b/sections/attacker_models.tex @@ -1,31 +1,30 @@ -\korg supports three general attacker models: an attacker that can drop, replay, or reordering messages on a channel. Additionally, \korg supports user-defined attacker that insert arbitrary messages onto a channel. In this section we discuss the various details that go into each attacker model. +\korg supports four general attacker model gadgets: an attacker that can drop, replay, reorder, or insert messages on a channel. In this section we discuss the various details that went into the implementation of the gadgets that encapsulate the behavior of the respective attacker models. -\subsection{Dropping Attacker Model}% +% Additionally, \korg supports user-defined attacker that insert arbitrary messages onto a channel. In this section we discuss the various details that go into each attacker model. + +\subsection{Drop Attacker Model Gadget}% \label{sub:Dropping Attacker} -The first and most simple general attacker model \korg supports is an attacker that can \textit{drop} messages from a channel. The user specifies a "drop limit" value that limits the number of packets the attacker can drop from the channel. Note, a higher drop limit will increase the search space of possible attacks, thereby increasing execution time. +The most simple attacker model \korg supports is an attacker that can \textit{drop} messages from a channel. The user specifies a "drop limit" value that limits the number of packets the attacker can drop from the channel. Note, a higher drop limit will increase the search space of possible attacks, thereby increasing execution time. The dropper attacker model gadget \korg synthesizes works as follows. The gadget will nondeterministically choose to observe a message on a channel. Then, if the drop limit variable is not zero, it will consume the message. An example is shown in Figure \ref{lst:korg_drop}. - - -\subsection{Replaying Attacker Model}% +\subsection{Replay Attacker Model Gadget}% \label{sub:Replay Attacker} -The second attacker model \korg supports is an attacker that can observe and \textit{replay} messages back onto a channel. Similarly to the drop limit for the dropping attacker model, the user can specify a "replay limit" that caps the number of messages the attacker can replay back onto the specified channel. +The next attacker model \korg supports is an attacker that can observe and \textit{replay} messages back onto a channel. Similarly to the drop limit for the dropping attacker model, the user can specify a "replay limit" that caps the number of observed messages the attacker can replay back onto the specified channel. -The dropper attacker model gadget \korg synthesizes works as follows. The gadget has two states, \textsc{Consume} and \textsc{Replay}. The gadget starts in the \textsc{Consume} state and nondeterministically reads (but not consumes) messages on the target channel, sending them into a local storage buffer. Once the gadget read the number of messages on the channel equivalent to the defined replay limit, its state changes to \textsc{Replay}. In the \textsc{Replay} state, the gadget nondeterministically selects messages from its storage buffer to replay onto the channel until out of messages. An example is shown in Figure \ref{lst:korg_replay}. +The replay attacker model gadget \korg employs works as follows. The gadget has two states, \textsc{Consume} and \textsc{Replay}. The gadget starts in the \textsc{Consume} state and nondeterministically reads (but not consumes) messages on the target channel, sending them into a local storage buffer. Once the gadget read the number of messages on the channel equivalent to the defined replay limit, its state changes to \textsc{Replay}. In the \textsc{Replay} state, the gadget nondeterministically selects messages from its storage buffer to replay onto the channel until out of messages. An example is shown in Figure \ref{lst:korg_replay}. - -\subsection{Reordering Attacker Model}% +\subsection{Reorder Attacker Model Gadget}% \label{sub:reordering Attacker} -Lastly, \korg supports an attacker model such that an attacker can \textit{reorder} messages on a channel. Like the drop and replay attacker models, the user can specify a "reordering limit" that caps the number of messages that can be reorderingd by the attacker on the specified channel. +\korg supports synthesizing attackers that can \textit{reorder} messages on a channel. Like the drop and replay attacker model gadgets, the user can specify a "reordering limit" that caps the number of messages that can be reordered by the attacker on the specified channel. The reordering attacker model gadget \korg synthesizes works as follows. The gadget has three states, \textsc{Init}, \textsc{Consume}, and \textsc{Replay}. The gadget begins in the \textsc{Init} state, where it arbitrarily chooses a message to start consuming by transitioning to the \textsc{Consume} state. When in the \textsc{Consume} state, the gadget consumes all messages that appear on the channel, filling up a local buffer, until hitting the defined reordering limit. Once this limit is hit, the gadget transitions into the \textsc{Replay} state. In the \textsc{Replay} state, the gadget nondeterministically selects messages from its storage buffer to replay onto the channel until out of messages. An example is shown in Figure \ref{lst:korg_reordering}. - - -\subsection{Custom Attacker Models}% +\subsection{Insert Attacker Models}% \label{sub:Custom Attacker Models} -While the drop, replay, and reordering attacker models as previously described have complex gadgets that \korg synthesizes with respect to a user-specified channel, \korg also supports the synthesis of gadgets with respect to user-defined inputs and outputs. The user defines an \textit{IO-file} denoting the specific input and output messages the attacker is capable of sending, and \korg generates a gadget capable of synthesizing attacks with respect to the user's specification. An example I/O file is given in Figure \ref{lst:io-file}, and the generated gadget is given in \ref{lst:io-file-synth}. +\korg supports the synthesis of attackers that can simply insert messages onto a channel. While the drop, replay, and reordering attacker model gadgets as previously described have complex gadgets that \korg synthesizes with respect to a user-specified channel, the insert attacker model gadget is synthesized with respect to a user-defined \textit{IO-file}. This file denotes the specific outputs and channels the attacker is capable of sending, and \korg generates a gadget capable of synthesizing attacks using the given inputs. An example I/O file is given in Figure \ref{lst:io-file}, and the generated gadget is given in \ref{lst:io-file-synth}. + +% \korg also supports the synthesis of gadgets with respect to user-defined inputs and outputs. The user defines an \textit{IO-file} denoting the specific input and output messages the attacker is capable of sending, and \korg generates a gadget capable of synthesizing attacks with respect to the user's specification. diff --git a/sections/case_studies.tex b/sections/case_studies.tex index ff15daa..1923491 100644 --- a/sections/case_studies.tex +++ b/sections/case_studies.tex @@ -1,12 +1,10 @@ -\subsection{Raft}% -\label{sub:Raft} -Raft is a consensus algorithm designed to replicate a state machine across distributed peers, and sees broad usage in distributed databases, key-value stores, distributed file systems, distributed load-balancers, and container orchestration. Historically, verification efforts of Raft using both constructive, mechanized proving techniques \cite{Woos_Wilcox_Anton_Tatlock_Ernst_Anderson_2016, Wilcox_Woos_Panchekha_Tatlock_Wang_Ernst_Anderson, Ongaro} and automated verification \cite{Ongaro} have only reasoned about the protocol under certain assumptions about the stability of the communication channels. However, no previous approach to Raft verification has reasoned about an on-channel attacker \textit{external} to the protocol itself. Uniquely, \korg enables us to study Raft under insecure communication channels. - \subsection{TCP}% \label{sub:TCP} TCP (Transmission Control Protocol) is a transport-layer protocol designed to establish reliable, ordered communications between two peers. TCP is ubiquitous in today's internet, and therefore has seen ample formal verification efforts \cite{Cluzel_Georgiou_Moy_Zeller_2021, Smith_1997, Pacheco2022}, including using \promela and \spin \cite{Pacheco2022}. A previous version of \korg has been applied TCP in \cite{Pacheco2022, Hippel2022}; -in particular, we study our \korg extensions using the \promela models from Pacheco et al., which includes a "gold" model whose underlying state machine is derived via an NLP-based algorithm applied to the SCTP RFC \cite{rfc9260} and a "canonical" model hand-written by domain experts \cite{Pacheco2022}. Additionally, we borrow the four LTL properties used in \cite{Pacheco2022}, as detailed below: +in particular, we study our \korg extensions using the hand-written TCP \promela model from \cite{Pacheco2022}. Additionally, we construct a TCP \promela model referencing the set of TCP RFCs. +For our analysis, we borrow the four LTL properties used in \cite{Pacheco2022}, as detailed below: +%we study our \korg extensions using the \promela models from Pacheco et al., which includes a "gold" model whose underlying state machine is derived via an NLP-based algorithm applied to the SCTP RFC \cite{rfc9260} and a "canonical" model hand-written by domain experts \cite{Pacheco2022}. \[ \begin{aligned} \phi_1 &= \text{\parbox[t]{20em}{No half-open connections.}} \\ @@ -16,8 +14,33 @@ in particular, we study our \korg extensions using the \promela models from Pach \end{aligned} \] -Evaluating the canonical TCP model using \korg led us to identify edge-cases in the connection establishment routine that weren't accounted for, leading us to construct a "revised" TCP model accounting for these missing edge cases. The resulting breakdown of attacks discovered is shown in Figure \ref{res:tcp-table}. +We evaluated the our TCP \promela model and the hand-written TCP \promela model presented by \cite{Pacheco2022} against \korg's drop, replay, and reordering attacker models on a single uni-directional communication channel. The resulting breakdown of attacks discovered is shown in Figure \ref{res:tcp-table}. +%Evaluating the canonical TCP model using \korg led us to identify edge-cases in the connection establishment routine that weren't accounted for, leading us to construct a "revised" TCP model accounting for these missing edge cases. + + +\begin{figure}[h!] +\centering +\begin{scriptsize} +\begin{tabular}{|c|c|c|c|c|c|c|} +\hline +& \multicolumn{2}{c|}{Drop Attacker} & \multicolumn{2}{c|}{Replay Attacker} & \multicolumn{2}{c|}{Reorder Attacker} \\ +\hline +& Pacheco et al. & Ours & Pacheco et al. & Ours & Pacheco et al. & Ours \\ +\hline +$\phi_1$ & & & & & & \\ +$\phi_2$ & x & x & x & x & & \\ +$\phi_3$ & & & & & & \\ +$\phi_4$ & & & & & x & \\ +\hline +\end{tabular} +\end{scriptsize} + +\label{res:tcp-table} +\caption{Automatically discovered attacks against the hand-written TCP model from Pacheco et al. and our own, for $\phi_1$ through $\phi_4$. "x" indicates an attack was discovered, and no "x" indicates \korg proved the absence of an attack via an exhaustive search. Full attack traces are available in the artifact.} +\end{figure} + +\begin{comment} \begin{figure}[h!] \centering \begin{scriptsize} @@ -27,7 +50,8 @@ Evaluating the canonical TCP model using \korg led us to identify edge-cases in \hline & \: Gold \: & \: Expert \: & \: Revised \: & \: Gold \: & \: Expert \: & \: Revised \: & \: Gold \: & \: Expert \: & \: Revised \: \\ \hline -$\phi_1$ & \rule{0pt}{8pt} & & & & & & & & \\ + $\phi_1$ & \rule{0pt}{8pt} & & & & The resulting breakdown of attacks discovered is shown in Figure \ref{res:tcp-table}. + & & & & \\ $\phi_2$ & \rule{0pt}{8pt} & x & x & & x & x & & x & \\ $\phi_3$ & \rule{0pt}{8pt} & & & & & & & & \\ $\phi_4$ & \rule{0pt}{8pt} x & & & & & & x & & \\ @@ -38,3 +62,23 @@ $\phi_4$ & \rule{0pt}{8pt} x & & & & & & x & & \\ \label{res:tcp-table} \caption{Automatically discovered attacks against the gold, canonical (labeled "expert"), and revised TCP models for $\phi_1$ through $\phi_4$. "x" indicates an attack was discovered, and no "x" indicates \korg proved the absence of an attack via an exhaustive search. Full attack traces are available in the artifact.} \end{figure} + +\end{comment} + +\subsection{Raft}% +\label{sub:Raft} +Raft is a consensus algorithm designed to replicate a state machine across distributed peers, and sees broad usage in distributed databases, key-value stores, distributed file systems, distributed load-balancers, and container orchestration. Historically, verification efforts of Raft using both constructive, mechanized proving techniques \cite{Woos_Wilcox_Anton_Tatlock_Ernst_Anderson_2016, Wilcox_Woos_Panchekha_Tatlock_Wang_Ernst_Anderson, Ongaro} and automated verification \cite{Ongaro} have reasoned about the protocol under certain assumptions about the stability of the communication channels. However, no previous approach to Raft verification has reasoned about an coordinated, arbitrary on-channel attacker \textit{external} to the protocol itself. Uniquely, \korg enables us to study Raft in this context. + +Referencing the original Raft thesis \cite{Ongaro} and other raft models \cite{Woos_Wilcox_Anton_Tatlock_Ernst_Anderson_2016}, we constructed a \promela model of the Raft protocol. Additionally, we derived and formalized the following properties, which our \promela model satisfies: +\[ +\begin{aligned} +\phi_1 &= \text{\parbox[t]{20em}{No two servers can be leaders in the same term.}} \\ +\phi_2 &= \text{\parbox[t]{20em}{Entries committed to the log at the same index must be equivalent.}} \\ +\phi_3 &= \text{\parbox[t]{20em}{Only leaders may append entires to the log.}} \\ +\phi_4 &= \text{\parbox[t]{20em}{If a leader commits at an index, any server that becomes leader afterwards must follow that commit.}} \\ +\phi_5 &= \text{\parbox[t]{20em}{If any two servers commit the same log entry, the log entry at the previous index must be equivalent}} +\end{aligned} +\] +We construct our Raft model such that we can model-check an arbitrary number of peers. We also designed our model such that each peer maintains separate channels for receiving AppendEntry requests, AppendEntry responses, RequestVote requests, and RequestVote responses. This gives \korg ample handle to reason about Raft. In particular, we study Raft in the presence of drop and replay attackers on all four aforementioned channel types, attacking both a minority and majority of peers. A breakdown of our findings is shown in Figure \ref{}. + +% We note our analysis is in no diff --git a/sections/conclusion.tex b/sections/conclusion.tex index 8b13789..ba94947 100644 --- a/sections/conclusion.tex +++ b/sections/conclusion.tex @@ -1 +1 @@ - +In conclusion, \korg addresses a critical gap in the formal verification of distributed protocols by enabling the synthesis of communication channel-based attacks against arbitrary linear temporal logic specifications. By leveraging \spin, \korg ensures soundness and completeness in attack synthesis. Its modular support for pre-defined attacker models enhances its versatility, enabling thorough protocol analysis across diverse and interesting scenarios. We demonstrate the effectiveness of \korg by employing it to study TCP and Raft, marking it as an invaluable tool for ensuring the validity and security of distributed protocols. diff --git a/sections/design.tex b/sections/design.tex index 779ec86..3982f25 100644 --- a/sections/design.tex +++ b/sections/design.tex @@ -3,7 +3,7 @@ In this section we discuss the details behind the design, formal guarantees, imp \subsection{High-level design}% \label{sub:High-level design} -At the highest level, \korg sits on a user-defined channel in a program written in \promela, the modeling language of the \spin model checker. The user selects an attacker model of choice and correctness properties of choice. \korg then invokes the \spin, which exhaustively searches for attacks with respect to the chosen model and properties. +At the highest level, \korg sits on user-specified communication channels in a program written in \promela, the modeling language of the \spin model checker. The user selects an attacker model of choice and correctness properties of choice. \korg then invokes \spin, which exhaustively searches for attacks with respect to the chosen attacker model, \promela model, and correctness property. A high-level overview of the \korg pipeline is given in the Figure \ref{fig:korg_workflow}. \begin{figure}[h] @@ -13,6 +13,20 @@ A high-level overview of the \korg pipeline is given in the Figure \ref{fig:korg \label{fig:korg_workflow} \end{figure} +\subsection{Supported Attacker Models}% +\label{sub:Supported Attacker Models} + +\korg supports the automatic synthesis of attacks with respect to four general pre-defined attacker models applicable to any communication channel: + +\begin{itemize} + \item \textbf{Drop Attacker Model}. Drop attackers are capable of dropping a finite number of messages off a channel. + \item \textbf{Replay Attacker Model}. Replay attackers are capable of replaying previously seen messages back onto a channel. + \item \textbf{Reorder Attacker Model}. Reorder attackers are capable of reordering messages on a channel. + \item \textbf{Insert Attacker Model}. Insert attackers are capable of inserting arbitrary messages (as specifiable by the user) onto a channel. +\end{itemize} + +These attacker models can be mixed and matched as desired by the \korg user. For example, a user can specify a drop attacker and replay attacker to target channel 1, a reordering attacker to target channel 2, and an insert attacker to target channel 3. If multiple attacker models are declared, \korg will synthesize attacks where the attackers on different channel \textit{coordinate} to construct a unifying attack. + \subsection{Soundness And Completeness of Korg}% \label{sub:Soundness And Completeness} @@ -21,9 +35,12 @@ A high-level overview of the \korg pipeline is given in the Figure \ref{fig:korg Fundamentally, the theoretical framework that \korg implements proposed by Hippel et al. reasons about \textit{communicating processes}; similarly, \korg is best understood as a synthesizer for attackers that sit \textit{between} communicating processes. -The attack synthesis framework proposed by Hippel et al. and \korg use slightly different formalisms. Both employ derivations the general \textit{input/output automata}, state machines whose transitions indicate sending or receiving a message. In particular, the framework proposed by Hippel et al. defines their own notion of a \textit{process} and argues their attack synthesis framework maintains soundness and completeness guarantees with respect to it, while \korg relies upon \spin's preferred model checking formalism, the B\"uchi Automata. Both utilize linear temporal logic as their specification of choice. +The theoretical attack synthesis framework and \korg use slightly different formalisms. Both employ derivations the general \textit{Input/Output (I/O) automata}, state machines whose transitions indicate sending or receiving a message.\footnote{ +A fundamental assumption both \korg and the theoretical attack synthesis framework rely upon is unicast transition relations of I/O automata within this context. That is, if one sending automata has an output transition matching an input transition of two receiving automata, only one input/output transition pair can be composed upon. Model checkers for I/O automata such as \spin will explore both possibilities. +} +In particular, the theoretical attack synthesis framework defines their own notion of a \textit{process} and argues their attack synthesis algorithm maintains soundness and completeness guarantees with respect to it, while \korg relies upon \spin's preferred model checking formalism, the B\"uchi Automata. Both utilize linear temporal logic as their specification language of choice. -We ultimately seek to conclude \korg maintains the guarantees of the theoretical framework it implements, therefore it is necessary to demonstrate the equivalence of \textit{processes} from Hippel et al. with the B\"uchi Automata. For ease of reading and clarity, we only provide the shortened arguments here. The detailed theorems and proofs are provided in Appendix Section \ref{sub:korg_proofs}. +We ultimately seek to conclude \korg maintains the guarantees of the theoretical framework it implements, therefore it is necessary to demonstrate the equivalence of \textit{processes} from the theoretical attack synthesis framework with the B\"uchi Automata. For ease of reading and clarity, we only provide shortened narrations of the arguments here. The detailed, definitions, theorems, and proofs are provided in Appendix Section \ref{sub:korg_proofs}. %\korg is an implementation of the theoretical attack synthesis framework proposed by Hippel et al. This framework enjoys soundness and completeness guarantees for attacks discovered; that is, if there exists an attack, it is discovered, and if an attack is discovered, it is valid. However, the attack synthesis framework proposed by Hippel et al. reasons about an abstracted, theoretical process construct. Therefore, in order to correctly claim \korg is also sound and complete, it is necessary to demonstrate discovering an attack within the theoretical framework reduces to the semantics of \spin, the model checker \korg is built on top of. @@ -34,7 +51,7 @@ We ultimately seek to conclude \korg maintains the guarantees of the theoretical A process, as defined in Hippel et al., always directly corresponds to a B\"uchi Automata. \end{theorem} -In short, a process as defined in Hippel et al. is a Kripke Structure equipped with input and output transitions. That is, when composing two processes, an output transition must be matched to a respective input transition. Processes also include atomic propositions, which the given linear temporal logic specifications are defined over. We invoke and build on the well-known correspondence between Kripke Structures and \ba to show our desired correspondence. +In short, a process in the theoretical attack synthesis framework is a Kripke Structure equipped with input and output transitions. That is, when composing two processes, an output transition must be matched to a respective input transition. Processes also include atomic propositions, which the given linear temporal logic specifications are defined over. We invoke and build on the well-known correspondence between Kripke Structures and \ba to show our desired correspondence. \begin{theorem} Checking whether there exists an attacker under a given threat model, the R-$\exists$ASP problem as proposed in Hippel et al., is equivalent to B\"uchi Automata language inclusion (which is in turn solved by the \spin model checker). @@ -75,7 +92,7 @@ Since \korg uses \spin as its underlying model checker, we can effectively concl We implemented \korg on top of the \spin, a popular and robust model checker for reasoning about distributed and concurrent systems. Intuitively, models written in \promela, the modeling language of \spin, are communicating state machines whose messages are passed over defined \textit{channels}. Channels in \promela can either be unbuffered \textit{synchronous} channels, or buffered \textit{asynchronous} channels. \korg generates attacks \textit{with respect} to these defined channels. -\begin{lstlisting}[caption={Example \promela model of peers communicating over a channel}, label={lst:spin-model}] +\begin{lstlisting}[caption={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.}, label={lst:spin-model}] // channel of buffer size 0 chan msg_channel = [0] of { int } @@ -89,12 +106,69 @@ active proctype Peer2() { } \end{lstlisting} -Following the gadgetry framework as described in Hippel et al., \korg is designed to parse user-chosen channels and generate gadgets for sending, receiving, and manipulating messages on them. \korg has built-in gadgets that are designed to emulate various real-world attacker models, as further described in Section \ref{sec:usage_attacker_models}. Additionally, users can explicitly define which messages a generated gadget can send and receive. Once one or multiple gadgets are generated, \korg invokes \spin to check if a given property of interest remains satisfied in the presence of the attacker gadgets. +\korg is designed to parse user-chosen channels and generate gadgets for sending, receiving, and manipulating messages on them. \korg has built-in gadgets that are designed to emulate various real-world attacker models, as further described in Section \ref{sec:usage_attacker_models}. +%Additionally, users can explicitly define which messages a generated gadget can send and receive. +Once one or multiple gadgets are generated, \korg invokes \spin to check if a given property of interest remains satisfied in the presence of the attacker gadgets. \subsection{Usage}% \label{sub:Usage} -To use \korg, the user first authors a \promela model and a correctness property in LTL. Take the following producer-consumer model, as shown in Listing \ref{lst:prod-consume}. + + +To demonstrate the usage of \korg, we'll walk through an example of proving the alternate bit protocol (ABP) is secure with respect to attackers that can replay messages. ABP is a simple communication protocol that provides reliable communication between two peers over an unreliable communication by continually agreeing on a bit value. + +To use \korg, the user first authors a \promela model and a correctness property in LTL. For example, take the \promela model as shown in Listing \ref{lst:abp}. The sender repeatedly sends its stored bit, \texttt{A\_curr}, to the receiver. The receiver changes its internal bit, \texttt{B\_curr}, and sends an acknowledgement to the sender. When the sender receives the acknowledgement, it will bitflip \texttt{A\_curr} and repeatedly send the updated bit. A natural specification for this protocol, formalized into the LTL property \texttt{eventually\_agrees}, states that if the sender and receiver do not currently agree on a bit, they eventually will be able to reach an agreement. + +\begin{lstlisting}[caption={Example (simplified) \promela model of the alternating bit protocol.}, label={lst:abp}] +chan StoR = [2] of { bit }; +chan RtoS = [2] of { bit }; + +bit A_curr = 0, B_curr = 1, rcv_a, rcv_b; + +active proctype Sender(){ + do + :: StoR ! A_curr; + :: RtoS ? rcv_a -> + if :: rcv_a == A_curr -> + A_curr = (A_curr + 1) % 2; + fi + od +} + +active proctype Receiver(){ + do + :: RtoS ! B_curr; + :: StoR ? rcv_b -> + :: rcv_b != B_curr -> + B_curr = rcv_b; + fi + od +} + +ltl eventually_agrees { + (A_curr != B_curr) implies eventually (A_curr == B_curr) +} +\end{lstlisting} + +Next, the user selects a \textit{channel} to generate an attacker on, and an attacker model of choice. For example, we select \texttt{StoR} and \texttt{RtoS} as our channels of choice, \texttt{replay} as our attacker model of choice, and assume the ABP model is in the file \texttt{abp.pml}. Then, we run \korg via command line. +\begin{lstlisting}[label={lst:korg-shell}] +$ ./korg --model=abp.pml --attacker=replay --channel=StoR,RtoS --eval +\end{lstlisting} + +\korg will then modify the \texttt{abp.pml} file to include the \texttt{replay} attacker gadgets attacking channels \texttt{StoR} and \texttt{RtoS}, and model-check it with \spin. \korg outputs the following text, cut down for readability, indicating an exhaustive search for attacks: +\begin{lstlisting} +Full statespace search for: + never claim + (eventually_agrees) + +ltl eventually_agree ((A_curr!=B_curr))) implies (eventually ((A_curr==B_curr)) + +Korg's exhaustive search is complete, no attacks found! +\end{lstlisting} +If desired, \texttt{--output} can also be specified so the \korg-modified \texttt{abp.pml} can be more closely examined and modified. A full shell-script replicating this example is available in the artifact. + +\begin{comment} + % JAKE'S OLD EXAMPLE (TO BE IGNORED) +Take the following producer-consumer model, as shown in Listing \ref{lst:prod-consume}. \begin{lstlisting}[caption={Example \promela model with four producers and one consumer.}, label={lst:prod-consume}] chan msgs = [4] of { bit }; @@ -133,6 +207,8 @@ Never claim moves to line 3 [assert(!(!((count>=0))))] Additional examples and usage information are provided in the anonymous repository link: (link) +\end{comment} + %the user inputs a \promela model, a correctness property specified in LTL, a channel from the given \promela model, and an attacker model of choice. \korg will then generate an attacker model gadget corresponding to the selected attacker model with respect to the chosen channel. The attacker model gadget is then appended onto the given \promela model and evaluated against the LTL property with \spin. \korg will then either produce an attack trace demonstrating the precise actions the attacker took to violate the LTL property, or demonstrate the absence of an attack via an exhaustive state-space search.